Merge branch '1.0.x' of git://gitorious.org/statusnet/mainline

Conflicts:
	plugins/OStatus/actions/ostatusinit.php
This commit is contained in:
Ian Denhardt
2011-05-23 21:50:48 -04:00
2341 changed files with 186504 additions and 60490 deletions

View File

@@ -56,14 +56,25 @@ class OStatusPlugin extends Plugin
array('action' => 'ownerxrd'));
$m->connect('main/ostatus',
array('action' => 'ostatusinit'));
$m->connect('main/ostatustag',
array('action' => 'ostatustag'));
$m->connect('main/ostatustag?nickname=:nickname',
array('action' => 'ostatustag'), array('nickname' => '[A-Za-z0-9_-]+'));
$m->connect('main/ostatus?nickname=:nickname',
array('action' => 'ostatusinit'), array('nickname' => '[A-Za-z0-9_-]+'));
$m->connect('main/ostatus?group=:group',
array('action' => 'ostatusinit'), array('group' => '[A-Za-z0-9_-]+'));
$m->connect('main/ostatus?peopletag=:peopletag&tagger=:tagger',
array('action' => 'ostatusinit'), array('tagger' => '[A-Za-z0-9_-]+',
'peopletag' => '[A-Za-z0-9_-]+'));
// Remote subscription actions
$m->connect('main/ostatussub',
array('action' => 'ostatussub'));
$m->connect('main/ostatusgroup',
array('action' => 'ostatusgroup'));
$m->connect('main/ostatuspeopletag',
array('action' => 'ostatuspeopletag'));
// PuSH actions
$m->connect('main/push/hub', array('action' => 'pushhub'));
@@ -79,6 +90,9 @@ class OStatusPlugin extends Plugin
$m->connect('main/salmon/group/:id',
array('action' => 'groupsalmon'),
array('id' => '[0-9]+'));
$m->connect('main/salmon/peopletag/:id',
array('action' => 'peopletagsalmon'),
array('id' => '[0-9]+'));
return true;
}
@@ -111,7 +125,9 @@ class OStatusPlugin extends Plugin
*/
function onStartEnqueueNotice($notice, &$transports)
{
if ($notice->isLocal()) {
// FIXME: we don't do privacy-controlled OStatus updates yet.
// once that happens, finer grain of control here.
if ($notice->isLocal() && $notice->inScope(null)) {
// put our transport first, in case there's any conflict (like OMB)
array_unshift($transports, 'ostatus');
}
@@ -149,6 +165,10 @@ class OStatusPlugin extends Plugin
$salmonAction = 'groupsalmon';
$group = $feed->getGroup();
$id = $group->id;
} else if ($feed instanceof AtomListNoticeFeed) {
$salmonAction = 'peopletagsalmon';
$peopletag = $feed->getList();
$id = $peopletag->id;
} else {
return true;
}
@@ -210,21 +230,7 @@ class OStatusPlugin extends Plugin
*/
function onStartProfileRemoteSubscribe($output, $profile)
{
$cur = common_current_user();
if (empty($cur)) {
// Add an OStatus subscribe
$output->elementStart('li', 'entity_subscribe');
$url = common_local_url('ostatusinit',
array('nickname' => $profile->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
// TRANS: Link description for link to subscribe to a remote user.
_m('Subscribe'));
$output->elementEnd('li');
}
$this->onStartProfileListItemActionElements($output, $profile);
return false;
}
@@ -233,18 +239,139 @@ class OStatusPlugin extends Plugin
$cur = common_current_user();
if (empty($cur)) {
// Add an OStatus subscribe
$output->elementStart('li', 'entity_subscribe');
$profile = $peopletag->getTagger();
$url = common_local_url('ostatusinit',
array('group' => $group->nickname));
$widget->out->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
// TRANS: Link description for link to join a remote group.
_m('Join'));
// TRANS: Link to subscribe to a remote entity.
_m('Subscribe'));
$output->elementEnd('li');
return false;
}
return true;
}
function onStartSubscribePeopletagForm($output, $peopletag)
{
$cur = common_current_user();
if (empty($cur)) {
$output->elementStart('li', 'entity_subscribe');
$profile = $peopletag->getTagger();
$url = common_local_url('ostatusinit',
array('tagger' => $profile->nickname, 'peopletag' => $peopletag->tag));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
// TRANS: Link to subscribe to a remote entity.
_m('Subscribe'));
$output->elementEnd('li');
return false;
}
return true;
}
function onStartShowTagProfileForm($action, $profile)
{
$action->elementStart('form', array('method' => 'post',
'id' => 'form_tag_user',
'class' => 'form_settings',
'name' => 'tagprofile',
'action' => common_local_url('tagprofile', array('id' => @$profile->id))));
$action->elementStart('fieldset');
// TRANS: Fieldset legend.
$action->element('legend', null, _m('Tag remote profile'));
$action->hidden('token', common_session_token());
$user = common_current_user();
$action->elementStart('ul', 'form_data');
$action->elementStart('li');
// TRANS: Field label.
$action->input('uri', _m('LABEL','Remote profile'), $action->trimmed('uri'),
// TRANS: Field title.
_m('OStatus user\'s address, like nickname@example.com or http://example.net/nickname.'));
$action->elementEnd('li');
$action->elementEnd('ul');
// TRANS: Button text to fetch remote profile.
$action->submit('fetch', _m('BUTTON','Fetch'));
$action->elementEnd('fieldset');
$action->elementEnd('form');
}
function onStartTagProfileAction($action, $profile)
{
$err = null;
$uri = $action->trimmed('uri');
if (!$profile && $uri) {
try {
if (Validate::email($uri)) {
$oprofile = Ostatus_profile::ensureWebfinger($uri);
} else if (Validate::uri($uri)) {
$oprofile = Ostatus_profile::ensureProfileURL($uri);
} else {
// TRANS: Exception in OStatus when invalid URI was entered.
throw new Exception(_m('Invalid URI.'));
}
// redirect to the new profile.
common_redirect(common_local_url('tagprofile', array('id' => $oprofile->profile_id)), 303);
return false;
} catch (Exception $e) {
// TRANS: Error message in OStatus plugin. Do not translate the domain names example.com
// TRANS: and example.net, as these are official standard domain names for use in examples.
$err = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
}
$action->showForm($err);
return false;
}
return true;
}
/*
* If the field being looked for is URI look for the profile
*/
function onStartProfileCompletionSearch($action, $profile, $search_engine) {
if ($action->field == 'uri') {
$user = new User();
$profile->joinAdd($user);
$profile->whereAdd('uri LIKE "%' . $profile->escape($q) . '%"');
$profile->query();
if ($profile->N == 0) {
try {
if (Validate::email($q)) {
$oprofile = Ostatus_profile::ensureWebfinger($q);
} else if (Validate::uri($q)) {
$oprofile = Ostatus_profile::ensureProfileURL($q);
} else {
// TRANS: Exception in OStatus when invalid URI was entered.
throw new Exception(_m('Invalid URI.'));
}
return $this->filter(array($oprofile->localProfile()));
} catch (Exception $e) {
// TRANS: Error message in OStatus plugin. Do not translate the domain names example.com
// TRANS: and example.net, as these are official standard domain names for use in examples.
$this->msg = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
return array();
}
}
return false;
}
return true;
}
/**
* Find any explicit remote mentions. Accepted forms:
* Webfinger: @user@example.com
@@ -254,7 +381,6 @@ class OStatusPlugin extends Plugin
* @param array &$mention in/out param: set of found mentions
* @return boolean hook return value
*/
function onEndFindMentions($sender, $text, &$mentions)
{
$matches = array();
@@ -451,12 +577,12 @@ class OStatusPlugin extends Plugin
}
$url = $notice->url;
// TRANSLATE: %s is a domain.
$title = sprintf(_m("Sent from %s via OStatus"), $domain);
// TRANS: Title. %s is a domain name.
$title = sprintf(_m('Sent from %s via OStatus'), $domain);
return false;
}
}
return true;
return true;
}
/**
@@ -523,7 +649,7 @@ class OStatusPlugin extends Plugin
}
if (!$oprofile->subscribe()) {
// TRANS: Exception.
// TRANS: Exception thrown when setup of remote subscription fails.
throw new Exception(_m('Could not set up remote subscription.'));
}
}
@@ -565,7 +691,7 @@ class OStatusPlugin extends Plugin
/**
* Notify remote server and garbage collect unused feeds on unsubscribe.
* @fixme send these operations to background queues
* @todo FIXME: Send these operations to background queues
*
* @param User $user
* @param Profile $other
@@ -598,7 +724,8 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
$act->title = _m('Unfollow');
// TRANS: Title for unfollowing a remote profile.
$act->title = _m('TITLE','Unfollow');
// TRANS: Success message for unsubscribe from user attempt through OStatus.
// TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
$act->content = sprintf(_m('%1$s stopped following %2$s.'),
@@ -623,12 +750,12 @@ class OStatusPlugin extends Plugin
*
* @return mixed hook return value
*/
function onStartJoinGroup($group, $user)
{
$oprofile = Ostatus_profile::staticGet('group_id', $group->id);
if ($oprofile) {
if (!$oprofile->subscribe()) {
// TRANS: Exception thrown when setup of remote group membership fails.
throw new Exception(_m('Could not set up remote group membership.'));
}
@@ -648,7 +775,8 @@ class OStatusPlugin extends Plugin
$act->object = $oprofile->asActivityObject();
$act->time = time();
$act->title = _m("Join");
// TRANS: Title for joining a remote groep.
$act->title = _m('TITLE','Join');
// TRANS: Success message for subscribe to group attempt through OStatus.
// TRANS: %1$s is the member name, %2$s is the subscribed group's name.
$act->content = sprintf(_m('%1$s has joined group %2$s.'),
@@ -659,8 +787,8 @@ class OStatusPlugin extends Plugin
return true;
} else {
$oprofile->garbageCollect();
// TRANS: Exception.
throw new Exception(_m("Failed joining remote group."));
// TRANS: Exception thrown when joining a remote group fails.
throw new Exception(_m('Failed joining remote group.'));
}
}
}
@@ -679,7 +807,6 @@ class OStatusPlugin extends Plugin
*
* @return mixed hook return value
*/
function onEndLeaveGroup($group, $user)
{
$oprofile = Ostatus_profile::staticGet('group_id', $group->id);
@@ -700,7 +827,8 @@ class OStatusPlugin extends Plugin
$act->object = $oprofile->asActivityObject();
$act->time = time();
$act->title = _m("Leave");
// TRANS: Title for leaving a remote group.
$act->title = _m('TITLE','Leave');
// TRANS: Success message for unsubscribe from group attempt through OStatus.
// TRANS: %1$s is the member name, %2$s is the unsubscribed group's name.
$act->content = sprintf(_m('%1$s has left group %2$s.'),
@@ -711,6 +839,103 @@ class OStatusPlugin extends Plugin
}
}
/**
* When one of our local users tries to subscribe to a remote peopletag,
* notify the remote server. If the notification is rejected,
* deny the subscription.
*
* @param Profile_list $peopletag
* @param User $user
*
* @return mixed hook return value
*/
function onStartSubscribePeopletag($peopletag, $user)
{
$oprofile = Ostatus_profile::staticGet('peopletag_id', $peopletag->id);
if ($oprofile) {
if (!$oprofile->subscribe()) {
// TRANS: Exception thrown when setup of remote list subscription fails.
throw new Exception(_m('Could not set up remote list subscription.'));
}
$sub = $user->getProfile();
$tagger = Profile::staticGet($peopletag->tagger);
$act = new Activity();
$act->id = TagURI::mint('subscribe_peopletag:%d:%d:%s',
$sub->id,
$peopletag->id,
common_date_iso8601(time()));
$act->actor = ActivityObject::fromProfile($sub);
$act->verb = ActivityVerb::FOLLOW;
$act->object = $oprofile->asActivityObject();
$act->time = time();
// TRANS: Title for following a remote list.
$act->title = _m('TITLE','Follow list');
// TRANS: Success message for remote list follow through OStatus.
// TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
$act->content = sprintf(_m('%1$s is now following people listed in %2$s by %3$s.'),
$sub->getBestName(),
$oprofile->getBestName(),
$tagger->getBestName());
if ($oprofile->notifyActivity($act, $sub)) {
return true;
} else {
$oprofile->garbageCollect();
// TRANS: Exception thrown when subscription to remote list fails.
throw new Exception(_m('Failed subscribing to remote list.'));
}
}
}
/**
* When one of our local users unsubscribes to a remote peopletag, notify the remote
* server.
*
* @param Profile_list $peopletag
* @param User $user
*
* @return mixed hook return value
*/
function onEndUnsubscribePeopletag($peopletag, $user)
{
$oprofile = Ostatus_profile::staticGet('peopletag_id', $peopletag->id);
if ($oprofile) {
// Drop the PuSH subscription if there are no other subscribers.
$oprofile->garbageCollect();
$sub = Profile::staticGet($user->id);
$tagger = Profile::staticGet($peopletag->tagger);
$act = new Activity();
$act->id = TagURI::mint('unsubscribe_peopletag:%d:%d:%s',
$sub->id,
$peopletag->id,
common_date_iso8601(time()));
$act->actor = ActivityObject::fromProfile($member);
$act->verb = ActivityVerb::UNFOLLOW;
$act->object = $oprofile->asActivityObject();
$act->time = time();
// TRANS: Title for unfollowing a remote list.
$act->title = _m('Unfollow list');
// TRANS: Success message for remote list unfollow through OStatus.
// TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
$act->content = sprintf(_m('%1$s stopped following the list %2$s by %3$s.'),
$sub->getBestName(),
$oprofile->getBestName(),
$tagger->getBestName());
$oprofile->notifyActivity($act, $user);
}
}
/**
* Notify remote users when their notices get favorited.
*
@@ -747,6 +972,115 @@ class OStatusPlugin extends Plugin
return true;
}
/**
* Notify remote user it has got a new people tag
* - tag verb is queued
* - the subscription is done immediately if not present
*
* @param Profile_tag $ptag the people tag that was created
* @return hook return value
*/
function onEndTagProfile($ptag)
{
$oprofile = Ostatus_profile::staticGet('profile_id', $ptag->tagged);
if (empty($oprofile)) {
return true;
}
$plist = $ptag->getMeta();
if ($plist->private) {
return true;
}
$act = new Activity();
$tagger = $plist->getTagger();
$tagged = Profile::staticGet('id', $ptag->tagged);
$act->verb = ActivityVerb::TAG;
$act->id = TagURI::mint('tag_profile:%d:%d:%s',
$plist->tagger, $plist->id,
common_date_iso8601(time()));
$act->time = time();
// TRANS: Title for listing a remote profile.
$act->title = _m('TITLE','List');
// TRANS: Success message for remote list addition through OStatus.
// TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
$act->content = sprintf(_m('%1$s listed %2$s in the list %3$s.'),
$tagger->getBestName(),
$tagged->getBestName(),
$plist->getBestName());
$act->actor = ActivityObject::fromProfile($tagger);
$act->objects = array(ActivityObject::fromProfile($tagged));
$act->target = ActivityObject::fromPeopletag($plist);
$oprofile->notifyDeferred($act, $tagger);
// initiate a PuSH subscription for the person being tagged
if (!$oprofile->subscribe()) {
// TRANS: Exception thrown when subscribing to a remote list fails.
throw new Exception(sprintf(_m('Could not complete subscription to remote '.
'profile\'s feed. List %s could not be saved.'), $ptag->tag));
return false;
}
return true;
}
/**
* Notify remote user that a people tag has been removed
* - untag verb is queued
* - the subscription is undone immediately if not required
* i.e garbageCollect()'d
*
* @param Profile_tag $ptag the people tag that was deleted
* @return hook return value
*/
function onEndUntagProfile($ptag)
{
$oprofile = Ostatus_profile::staticGet('profile_id', $ptag->tagged);
if (empty($oprofile)) {
return true;
}
$plist = $ptag->getMeta();
if ($plist->private) {
return true;
}
$act = new Activity();
$tagger = $plist->getTagger();
$tagged = Profile::staticGet('id', $ptag->tagged);
$act->verb = ActivityVerb::UNTAG;
$act->id = TagURI::mint('untag_profile:%d:%d:%s',
$plist->tagger, $plist->id,
common_date_iso8601(time()));
$act->time = time();
// TRANS: Title for unlisting a remote profile.
$act->title = _m('TITLE','Unlist');
// TRANS: Success message for remote list removal through OStatus.
// TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
$act->content = sprintf(_m('%1$s removed %2$s from the list %3$s.'),
$tagger->getBestName(),
$tagged->getBestName(),
$plist->getBestName());
$act->actor = ActivityObject::fromProfile($tagger);
$act->objects = array(ActivityObject::fromProfile($tagged));
$act->target = ActivityObject::fromPeopletag($plist);
$oprofile->notifyDeferred($act, $tagger);
// unsubscribe to PuSH feed if no more required
$oprofile->garbageCollect();
return true;
}
/**
* Notify remote users when their notices get de-favorited.
*
@@ -755,7 +1089,6 @@ class OStatusPlugin extends Plugin
*
* @return hook return value
*/
function onEndDisfavorNotice(Profile $profile, Notice $notice)
{
$user = User::staticGet('id', $profile->id);
@@ -778,10 +1111,11 @@ class OStatusPlugin extends Plugin
$notice->id,
common_date_iso8601(time()));
$act->time = time();
$act->title = _m('Disfavor');
// TRANS: Title for unliking a remote notice.
$act->title = _m('Unlike');
// TRANS: Success message for remove a favorite notice through OStatus.
// TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
$act->content = sprintf(_m('%1$s marked notice %2$s as no longer a favorite.'),
$act->content = sprintf(_m('%1$s no longer likes %2$s.'),
$profile->getBestName(),
$notice->uri);
@@ -897,10 +1231,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
// TRANS: Title for activity.
$act->title = _m("Profile update");
$act->title = _m('Profile update');
// TRANS: Ping text for remote profile update through OStatus.
// TRANS: %s is user that updated their profile.
$act->content = sprintf(_m("%s has updated their profile page."),
$act->content = sprintf(_m('%s has updated their profile page.'),
$profile->getBestName());
$act->actor = ActivityObject::fromProfile($profile);
@@ -913,7 +1247,7 @@ class OStatusPlugin extends Plugin
return true;
}
function onStartProfileListItemActionElements($item)
function onStartProfileListItemActionElements($item, $profile=null)
{
if (!common_logged_in()) {
@@ -921,7 +1255,12 @@ class OStatusPlugin extends Plugin
if (!empty($profileUser)) {
$output = $item->out;
if ($item instanceof Action) {
$output = $item;
$profile = $item->profile;
} else {
$output = $item->out;
}
// Add an OStatus subscribe
$output->elementStart('li', 'entity_subscribe');
@@ -932,6 +1271,15 @@ class OStatusPlugin extends Plugin
// TRANS: Link text for a user to subscribe to an OStatus user.
_m('Subscribe'));
$output->elementEnd('li');
$output->elementStart('li', 'entity_tag');
$url = common_local_url('ostatustag',
array('nickname' => $profileUser->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_tag'),
// TRANS: Link text for a user to tag an OStatus user.
_m('Tag'));
$output->elementEnd('li');
}
}
@@ -998,7 +1346,7 @@ class OStatusPlugin extends Plugin
// so we check locally first.
$user = User::staticGet('uri', $uri);
if (!empty($user)) {
$profile = $user->getProfile();
return false;
@@ -1020,13 +1368,13 @@ class OStatusPlugin extends Plugin
function onEndXrdActionLinks(&$xrd, $user)
{
$xrd->links[] = array('rel' => Discovery::UPDATESFROM,
'href' => common_local_url('ApiTimelineUser',
array('id' => $user->id,
'format' => 'atom')),
'type' => 'application/atom+xml');
// Salmon
$xrd->links[] = array('rel' => Discovery::UPDATESFROM,
'href' => common_local_url('ApiTimelineUser',
array('id' => $user->id,
'format' => 'atom')),
'type' => 'application/atom+xml');
// Salmon
$salmon_url = common_local_url('usersalmon',
array('id' => $user->id));
@@ -1054,7 +1402,7 @@ class OStatusPlugin extends Plugin
$url = common_local_url('ostatussub') . '?profile={uri}';
$xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe',
'template' => $url );
return true;
return true;
}
}

View File

@@ -50,7 +50,6 @@ $config['feedsub']['nohub']
and we have no polling backend. (The fallback hub option can be used
with a 3rd-party service to provide such polling.)
Todo:
* better support for feeds that aren't natively oriented at social networking
* make use of tags/categories from feeds

View File

@@ -53,7 +53,7 @@ class GroupsalmonAction extends SalmonAction
$oprofile = Ostatus_profile::staticGet('group_id', $id);
if ($oprofile) {
// TRANS: Client error.
$this->clientError(_m("Can't accept remote posts for a remote group."));
$this->clientError(_m('Cannot accept remote posts for a remote group.'));
}
return true;
@@ -74,7 +74,7 @@ class GroupsalmonAction extends SalmonAction
break;
default:
// TRANS: Client exception.
throw new ClientException("Can't handle that kind of post.");
throw new ClientException('Cannot handle that kind of post.');
}
// Notice must be to the attention of this group
@@ -127,11 +127,11 @@ class GroupsalmonAction extends SalmonAction
$oprofile = $this->ensureProfile();
if (!$oprofile) {
// TRANS: Client error.
$this->clientError(_m("Can't read profile to set up group membership."));
$this->clientError(_m('Cannot read profile to set up group membership.'));
}
if ($oprofile->isGroup()) {
// TRANS: Client error.
$this->clientError(_m("Groups can't join groups."));
$this->clientError(_m('Groups cannot join groups.'));
}
common_log(LOG_INFO, "Remote profile {$oprofile->uri} joining local group {$this->group->nickname}");
@@ -144,6 +144,7 @@ class GroupsalmonAction extends SalmonAction
}
if (Group_block::isBlocked($this->group, $profile)) {
// TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
$this->clientError(_m('You have been blocked from that group by the admin.'), 403);
return false;
}
@@ -164,10 +165,13 @@ class GroupsalmonAction extends SalmonAction
{
$oprofile = $this->ensureProfile();
if (!$oprofile) {
$this->clientError(_m("Can't read profile to cancel group membership."));
// TRANS: Client error displayed when group membership cannot be cancelled
// TRANS: because the remote profile could not be read.
$this->clientError(_m('Cannot read profile to cancel group membership.'));
}
if ($oprofile->isGroup()) {
$this->clientError(_m("Groups can't join groups."));
// TRANS: Client error displayed when trying to have a group join another group.
$this->clientError(_m('Groups cannot join groups.'));
}
common_log(LOG_INFO, "Remote profile {$oprofile->uri} leaving local group {$this->group->nickname}");

View File

@@ -77,7 +77,8 @@ class OStatusGroupAction extends OStatusSubAction
// TRANS: Field label.
_m('Join group'),
$this->profile_uri,
// TRANS: Tooltip for field label "Join group".
// TRANS: Tooltip for field label "Join group". Do not translate the "example.net"
// TRANS: domain name in the URL, as it is an official standard domain name for examples.
_m("OStatus group's address, like http://example.net/group/nickname."));
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -102,7 +103,8 @@ class OStatusGroupAction extends OStatusSubAction
$cur = common_current_user();
if ($cur->isMember($group)) {
$this->element('div', array('class' => 'error'),
_m("You are already a member of this group."));
// TRANS: Error text displayed when trying to join a remote group the user is already a member of.
_m('You are already a member of this group.'));
$ok = false;
} else {
$ok = true;
@@ -168,7 +170,7 @@ class OStatusGroupAction extends OStatusSubAction
*/
function getInstructions()
{
// TRANS: Instructions.
// TRANS: Form instructions.
return _m('You can subscribe to groups from other supported sites. Paste the group\'s profile URI below:');
}

View File

@@ -29,6 +29,8 @@ if (!defined('STATUSNET')) {
class OStatusInitAction extends Action
{
var $nickname;
var $tagger;
var $peopletag;
var $group;
var $profile;
var $err;
@@ -45,6 +47,8 @@ class OStatusInitAction extends Action
// Local user or group the remote wants to subscribe to
$this->nickname = $this->trimmed('nickname');
$this->tagger = $this->trimmed('tagger');
$this->peopletag = $this->trimmed('peopletag');
$this->group = $this->trimmed('group');
// Webfinger or profile URL of the remote user
@@ -61,6 +65,7 @@ class OStatusInitAction extends Action
/* Use a session token for CSRF protection. */
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
// TRANS: Client error displayed when the session token does not match or is not given.
$this->showForm(_m('There was a problem with your session token. '.
'Try again, please.'));
return;
@@ -80,7 +85,7 @@ class OStatusInitAction extends Action
$this->elementStart('html');
$this->elementStart('head');
// TRANS: Form title.
$this->element('title', null, _m('Subscribe to user'));
$this->element('title', null, _m('TITLE','Subscribe to user'));
$this->elementEnd('head');
$this->elementStart('body');
$this->showContent();
@@ -95,14 +100,20 @@ class OStatusInitAction extends Action
{
if ($this->group) {
// TRANS: Form legend.
// TRANS: Form legend. %s is a group name.
$header = sprintf(_m('Join group %s'), $this->group);
// TRANS: Button text.
// TRANS: Button text to join a group.
$submit = _m('BUTTON','Join');
} else {
// TRANS: Form legend.
$header = sprintf(_m('Subscribe to %s'), $this->nickname);
} else if ($this->peopletag && $this->tagger) {
// TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
$header = sprintf(_m('Subscribe to list %1$s by %2$s'), $this->peopletag, $this->tagger);
// TRANS: Button text to subscribe to a list.
$submit = _m('BUTTON','Subscribe');
// TRANS: Button text.
} else {
// TRANS: Form legend. %s is a nickname.
$header = sprintf(_m('Subscribe to %s'), $this->nickname);
// TRANS: Button text to subscribe to a profile.
$submit = _m('BUTTON','Subscribe');
}
$this->elementStart('form', array('id' => 'form_ostatus_connect',
@@ -115,20 +126,27 @@ class OStatusInitAction extends Action
$this->elementStart('ul', 'form_data');
$this->elementStart('li', array('id' => 'ostatus_nickname'));
if ($this->group) {
// TRANS: Field label.
$this->input('group', _m('Group nickname'), $this->group,
// TRANS: Field title.
_m('Nickname of the group you want to join.'));
} else {
// TRANS: Field label.
$this->input('nickname', _m('User nickname'), $this->nickname,
// TRANS: Field title.
_m('Nickname of the user you want to follow.'));
$this->hidden('tagger', $this->tagger);
$this->hidden('peopletag', $this->peopletag);
}
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'ostatus_profile'));
// TRANS: Field label.
$this->input('profile', _m('Profile Account'), $this->profile,
_m("Your account id (i.e. user@status.net) -- with GNU social, users do not use one server to communicate in the way that Facebook and Twitter users do. Instead, users are spread out over a network of servers and different sites. You can run your own server, or you can sign up for one of the public servers -- it doesn't even need to be a GNU social server -- any server that speaks the OStatus protocol is suitable. A good place to get an account for yourself is www.status.net"));
// TRANS: Tooltip for field label "Profile Account".
_m('Your account ID (e.g. user@identi.ca).'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->submit('submit', $submit);
@@ -150,7 +168,7 @@ class OStatusInitAction extends Action
$this->connectWebfinger($this->profile);
} else {
// TRANS: Client error.
$this->clientError(_m("Must provide a remote profile."));
$this->clientError(_m('Must provide a remote profile.'));
}
}
@@ -162,7 +180,7 @@ class OStatusInitAction extends Action
$result = $disco->lookup($acct);
if (!$result) {
// TRANS: Client error.
$this->clientError(_m("Couldn't look up OStatus account profile."));
$this->clientError(_m('Could not look up OStatus account profile.'));
}
foreach ($result->links as $link) {
@@ -175,7 +193,7 @@ class OStatusInitAction extends Action
}
// TRANS: Client error.
$this->clientError(_m("Couldn't confirm remote profile address."));
$this->clientError(_m('Could not confirm remote profile address.'));
}
function connectProfile($subscriber_profile)
@@ -201,7 +219,7 @@ class OStatusInitAction extends Action
return common_local_url('userbyid', array('id' => $user->id));
} else {
// TRANS: Client error.
$this->clientError("No such user.");
$this->clientError(_m('No such user.'));
}
} else if ($this->group) {
$group = Local_group::staticGet('nickname', $this->group);
@@ -209,11 +227,25 @@ class OStatusInitAction extends Action
return common_local_url('groupbyid', array('id' => $group->group_id));
} else {
// TRANS: Client error.
$this->clientError("No such group.");
$this->clientError(_m('No such group.'));
}
} else if ($this->peopletag && $this->tagger) {
$user = User::staticGet('nickname', $this->tagger);
if (empty($user)) {
// TRANS: Client error.
$this->clientError(_m('No such user.'));
}
$peopletag = Profile_list::getByTaggerAndTag($user->id, $this->peopletag);
if ($peopletag) {
return common_local_url('profiletagbyid',
array('tagger_id' => $user->id, 'id' => $peopletag->id));
}
// TRANS: Client error.
$this->clientError(_m('No such list.'));
} else {
// TRANS: Client error.
$this->clientError("No local user or group nickname provided.");
$this->clientError(_m('No local user or group nickname provided.'));
}
}

View File

@@ -0,0 +1,184 @@
<?php
/*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2009-2010, StatusNet, Inc.
*
* This program 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.
*
* 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.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
require_once INSTALLDIR . '/lib/peopletaglist.php';
/**
* Key UI methods:
*
* showInputForm() - form asking for a remote profile account or URL
* We end up back here on errors
*
* showPreviewForm() - surrounding form for preview-and-confirm
* preview() - display profile for a remote group
*
* success() - redirects to groups page on join
*/
class OStatusPeopletagAction extends OStatusSubAction
{
protected $profile_uri; // provided acct: or URI of remote entity
protected $oprofile; // Ostatus_profile of remote entity, if valid
function validateRemoteProfile()
{
if (!$this->oprofile->isPeopletag()) {
// Send us to the user subscription form for conf
$target = common_local_url('ostatussub', array(), array('profile' => $this->profile_uri));
common_redirect($target, 303);
}
}
/**
* Show the initial form, when we haven't yet been given a valid
* remote profile.
*/
function showInputForm()
{
$this->elementStart('form', array('method' => 'post',
'id' => 'form_ostatus_sub',
'class' => 'form_settings',
'action' => $this->selfLink()));
$this->hidden('token', common_session_token());
$this->elementStart('fieldset', array('id' => 'settings_feeds'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('profile',
// TRANS: Field label.
_m('Subscribe to list'),
$this->profile_uri,
// TRANS: Field title.
_m("Address of the OStatus list, like http://example.net/user/all/tag."));
$this->elementEnd('li');
$this->elementEnd('ul');
// TRANS: Button text to continue joining a remote list.
$this->submit('validate', _m('BUTTON','Continue'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
/**
* Show a preview for a remote peopletag's profile
* @return boolean true if we're ok to try joining
*/
function preview()
{
$oprofile = $this->oprofile;
$ptag = $oprofile->localPeopletag();
$cur = common_current_user();
if ($ptag->hasSubscriber($cur->id)) {
$this->element('div', array('class' => 'error'),
// TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
_m('You are already subscribed to this list.'));
$ok = false;
} else {
$ok = true;
}
$this->showEntity($ptag);
return $ok;
}
function showEntity($ptag)
{
$this->elementStart('div', 'peopletag');
$widget = new PeopletagListItem($ptag, common_current_user(), $this);
$widget->showCreator();
$widget->showTag();
$widget->showDescription();
$this->elementEnd('div');
}
/**
* Redirect on successful remote people tag subscription
*/
function success()
{
$cur = common_current_user();
$url = common_local_url('peopletagsubscriptions', array('nickname' => $cur->nickname));
common_redirect($url, 303);
}
/**
* Attempt to finalize subscription.
* validateFeed must have been run first.
*
* Calls showForm on failure or success on success.
*/
function saveFeed()
{
$user = common_current_user();
$ptag = $this->oprofile->localPeopletag();
if ($ptag->hasSubscriber($user->id)) {
// TRANS: OStatus remote group subscription dialog error.
$this->showForm(_m('Already subscribed!'));
return;
}
try {
Profile_tag_subscription::add($ptag, $user);
$this->success();
} catch (Exception $e) {
$this->showForm($e->getMessage());
}
}
/**
* Title of the page
*
* @return string Title of the page
*/
function title()
{
// TRANS: Page title for OStatus remote list subscription form
return _m('Confirm subscription to remote list');
}
/**
* Instructions for use
*
* @return instructions for use
*/
function getInstructions()
{
// TRANS: Instructions for OStatus list subscription form.
return _m('You can subscribe to lists from other supported sites. Paste the list\'s URI below:');
}
function selfLink()
{
return common_local_url('ostatuspeopletag');
}
}

View File

@@ -68,7 +68,7 @@ class OStatusSubAction extends Action
_m('Subscribe to'),
$this->profile_uri,
// TRANS: Tooltip for field label "Subscribe to".
_m('OStatus user\'s address, like nickname@example.com or http://example.net/nickname'));
_m('OStatus user\'s address, like nickname@example.com or http://example.net/nickname.'));
$this->elementEnd('li');
$this->elementEnd('ul');
// TRANS: Button text.
@@ -106,8 +106,8 @@ class OStatusSubAction extends Action
$this->hidden('token', common_session_token());
$this->hidden('profile', $this->profile_uri);
if ($this->oprofile->isGroup()) {
// TRANS: Button text.
$this->submit('submit', _m('Join'), 'submit', null,
// TRANS: Button text.
// TRANS: Tooltip for button "Join".
_m('BUTTON','Join this group'));
} else {
@@ -135,7 +135,7 @@ class OStatusSubAction extends Action
$cur = common_current_user();
if ($cur->isSubscribed($profile)) {
$this->element('div', array('class' => 'error'),
_m("You are already subscribed to this user."));
_m('You are already subscribed to this user.'));
$ok = false;
} else {
$ok = true;
@@ -228,14 +228,16 @@ class OStatusSubAction extends Action
} else if (Validate::uri($this->profile_uri)) {
$this->oprofile = Ostatus_profile::ensureProfileURL($this->profile_uri);
} else {
// TRANS: Error text.
// TRANS: Error message in OStatus plugin. Do not translate the domain names example.com
// TRANS: and example.net, as these are official standard domain names for use in examples.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug('Invalid address format.', __FILE__);
return false;
}
return true;
} catch (FeedSubBadURLException $e) {
// TRANS: Error text.
// TRANS: Error message in OStatus plugin. Do not translate the domain names example.com
// TRANS: and example.net, as these are official standard domain names for use in examples.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug('Invalid URL or could not reach server.', __FILE__);
} catch (FeedSubBadResponseException $e) {
@@ -260,7 +262,8 @@ class OStatusSubAction extends Action
common_debug('Not a recognized feed type.', __FILE__);
} catch (Exception $e) {
// Any new ones we forgot about
// TRANS: Error text.
// TRANS: Error message in OStatus plugin. Do not translate the domain names example.com
// TRANS: and example.net, as these are official standard domain names for use in examples.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug(sprintf('Bad feed URL: %s %s', get_class($e), $e->getMessage()), __FILE__);
}
@@ -270,10 +273,13 @@ class OStatusSubAction extends Action
function validateRemoteProfile()
{
// Send us to the respective subscription form for conf
if ($this->oprofile->isGroup()) {
// Send us to the group subscription form for conf
$target = common_local_url('ostatusgroup', array(), array('profile' => $this->profile_uri));
common_redirect($target, 303);
} else if ($this->oprofile->isPeopletag()) {
$target = common_local_url('ostatuspeopletag', array(), array('profile' => $this->profile_uri));
common_redirect($target, 303);
}
}
@@ -342,6 +348,7 @@ class OStatusSubAction extends Action
// CSRF protection
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
// TRANS: Client error displayed when the session token does not match or is not given.
$this->showForm(_m('There was a problem with your session token. '.
'Try again, please.'));
return;
@@ -389,7 +396,7 @@ class OStatusSubAction extends Action
function title()
{
// TRANS: Page title for OStatus remote subscription form
// TRANS: Page title for OStatus remote subscription form.
return _m('Confirm');
}

View File

@@ -0,0 +1,126 @@
<?php
/*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2010, StatusNet, Inc.
*
* This program 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.
*
* 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.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @package OStatusPlugin
* @maintainer James Walker <james@status.net>
*/
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class OStatusTagAction extends OStatusInitAction
{
var $nickname;
var $profile;
var $err;
function prepare($args)
{
parent::prepare($args);
if (common_logged_in()) {
// TRANS: Client error displayed when trying to tag a local object as if it is remote.
$this->clientError(_m('You can use the local tagging!'));
return false;
}
$this->nickname = $this->trimmed('nickname');
// Webfinger or profile URL of the remote user
$this->profile = $this->trimmed('profile');
return true;
}
function showContent()
{
// TRANS: Header for tagging a remote object. %s is a remote object's name.
$header = sprintf(_m('Tag %s'), $this->nickname);
// TRANS: Button text to tag a remote object.
$submit = _m('BUTTON','Go');
$this->elementStart('form', array('id' => 'form_ostatus_connect',
'method' => 'post',
'class' => 'form_settings',
'action' => common_local_url('ostatustag')));
$this->elementStart('fieldset');
$this->element('legend', null, $header);
$this->hidden('token', common_session_token());
$this->elementStart('ul', 'form_data');
$this->elementStart('li', array('id' => 'ostatus_nickname'));
// TRANS: Field label.
$this->input('nickname', _m('User nickname'), $this->nickname,
// TRANS: Field title.
_m('Nickname of the user you want to tag.'));
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'ostatus_profile'));
// TRANS: Field label.
$this->input('profile', _m('Profile Account'), $this->profile,
// TRANS: Field title.
_m('Your account id (for example user@identi.ca).'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->submit('submit', $submit);
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
function connectWebfinger($acct)
{
$target_profile = $this->targetProfile();
$disco = new Discovery;
$result = $disco->lookup($acct);
if (!$result) {
// TRANS: Client error displayed when remote profile could not be looked up.
$this->clientError(_m('Could not look up OStatus account profile.'));
}
foreach ($result->links as $link) {
if ($link['rel'] == 'http://ostatus.org/schema/1.0/tag') {
// We found a URL - let's redirect!
$url = Discovery::applyTemplate($link['template'], $target_profile);
common_log(LOG_INFO, "Sending remote subscriber $acct to $url");
common_redirect($url, 303);
}
}
// TRANS: Client error displayed when remote profile address could not be confirmed.
$this->clientError(_m('Could not confirm remote profile address.'));
}
function connectProfile($subscriber_profile)
{
$target_profile = $this->targetProfile();
// @fixme hack hack! We should look up the remote sub URL from XRDS
$suburl = preg_replace('!^(.*)/(.*?)$!', '$1/main/tagprofile', $subscriber_profile);
$suburl .= '?uri=' . urlencode($target_profile);
common_log(LOG_INFO, "Sending remote subscriber $subscriber_profile to $suburl");
common_redirect($suburl, 303);
}
function title()
{
// TRANS: Title for an OStatus list.
return _m('OStatus list');
}
}

View File

@@ -36,6 +36,7 @@ class OwnerxrdAction extends XrdAction
$this->user = User::siteOwner();
if (!$this->user) {
// TRANS: Client error displayed when referring to a non-existing user.
$this->clientError(_m('No such user.'), 404);
return false;
}

View File

@@ -0,0 +1,150 @@
<?php
/*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2010, StatusNet, Inc.
*
* This program 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.
*
* 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.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @package OStatusPlugin
*/
if (!defined('STATUSNET')) {
exit(1);
}
class PeopletagsalmonAction extends SalmonAction
{
var $peopletag = null;
function prepare($args)
{
parent::prepare($args);
$id = $this->trimmed('id');
if (!$id) {
// TRANS: Client error displayed trying to perform an action without providing an ID.
$this->clientError(_m('No ID.'));
}
$this->peopletag = Profile_list::staticGet('id', $id);
if (empty($this->peopletag)) {
// TRANS: Client error displayed when referring to a non-existing list.
$this->clientError(_m('No such list.'));
}
$oprofile = Ostatus_profile::staticGet('peopletag_id', $id);
if (!empty($oprofile)) {
// TRANS: Client error displayed when trying to send a message to a remote list.
$this->clientError(_m('Cannot accept remote posts for a remote list.'));
}
return true;
}
/**
* We've gotten a follow/subscribe notification from a remote user.
* Save a subscription relationship for them.
*/
/**
* Postel's law: consider a "follow" notification as a "join".
*/
function handleFollow()
{
$this->handleSubscribe();
}
/**
* Postel's law: consider an "unfollow" notification as a "unsubscribe".
*/
function handleUnfollow()
{
$this->handleUnsubscribe();
}
/**
* A remote user subscribed.
* @fixme move permission checks and event call into common code,
* currently we're doing the main logic in joingroup action
* and so have to repeat it here.
*/
function handleSubscribe()
{
$oprofile = $this->ensureProfile();
if (!$oprofile) {
// TRANS: Client error displayed when referring to a non-existing remote list.
$this->clientError(_m('Cannot read profile to set up list subscription.'));
}
if ($oprofile->isGroup()) {
// TRANS: Client error displayed when trying to subscribe a group to a list.
$this->clientError(_m('Groups cannot subscribe to lists.'));
}
common_log(LOG_INFO, "Remote profile {$oprofile->uri} subscribing to local peopletag ".$this->peopletag->getBestName());
$profile = $oprofile->localProfile();
if ($this->peopletag->hasSubscriber($profile)) {
// Already a member; we'll take it silently to aid in resolving
// inconsistencies on the other side.
return true;
}
// should we block those whom the tagger has blocked from listening to
// his own updates?
try {
Profile_tag_subscription::add($this->peopletag, $profile);
} catch (Exception $e) {
// TRANS: Server error displayed when subscribing a remote user to a list fails.
// TRANS: %1$s is a profile URI, %2$s is a list name.
$this->serverError(sprintf(_m('Could not subscribe remote user %1$s to list %2$s.'),
$oprofile->uri, $this->peopletag->getBestName()));
}
}
/**
* A remote user unsubscribed from our list.
*/
function handleUnsubscribe()
{
$oprofile = $this->ensureProfile();
if (!$oprofile) {
// TRANS: Client error displayed when trying to unsubscribe from non-existing list.
$this->clientError(_m('Cannot read profile to cancel list subscription.'));
}
if ($oprofile->isGroup()) {
// TRANS: Client error displayed when trying to unsubscribe a group from a list.
$this->clientError(_m('Groups cannot subscribe to lists.'));
}
common_log(LOG_INFO, "Remote profile {$oprofile->uri} unsubscribing from local peopletag ".$this->peopletag->getBestName());
$profile = $oprofile->localProfile();
try {
Profile_tag_subscription::remove($this->peopletag->tagger, $this->peopletag->tag, $profile->id);
} catch (Exception $e) {
// TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
// TRANS: %1$s is a profile URL, %2$s is a list name.
$this->serverError(sprintf(_m('Could not unsubscribe remote user %1$s from list %2$s.'),
$oprofile->uri, $this->peopletag->getBestName()));
return;
}
}
}

View File

@@ -47,6 +47,7 @@ class PushCallbackAction extends Action
$feedid = $this->arg('feed');
common_log(LOG_INFO, "POST for feed id $feedid");
if (!$feedid) {
// TRANS: Server exception thrown when referring to a non-existing or empty feed.
throw new ServerException(_m('Empty or invalid feed id.'), 400);
}

View File

@@ -28,18 +28,14 @@ if (!defined('STATUSNET')) {
}
/**
Things to consider...
* should we purge incomplete subscriptions that never get a verification pingback?
* when can we send subscription renewal checks?
- at next send time probably ok
* when can we handle trimming of subscriptions?
- at next send time probably ok
* should we keep a fail count?
*/
* Things to consider...
* should we purge incomplete subscriptions that never get a verification pingback?
* when can we send subscription renewal checks?
* - at next send time probably ok
* when can we handle trimming of subscriptions?
* - at next send time probably ok
* should we keep a fail count?
*/
class PushHubAction extends Action
{
function arg($arg, $def=null)
@@ -95,13 +91,13 @@ class PushHubAction extends Action
$verify = $this->arg('hub.verify'); // @fixme may be multiple
if ($verify != 'sync' && $verify != 'async') {
// TRANS: Client exception.
// TRANS: Client exception. %s is sync or async.
throw new ClientException(sprintf(_m('Invalid hub.verify "%s". It must be sync or async.'),$verify));
}
$lease = $this->arg('hub.lease_seconds', null);
if ($mode == 'subscribe' && $lease != '' && !preg_match('/^\d+$/', $lease)) {
// TRANS: Client exception.
// TRANS: Client exception. %s is the invalid lease value.
throw new ClientException(sprintf(_m('Invalid hub.lease "%s". It must be empty or positive integer.'),$lease));
}
@@ -109,7 +105,7 @@ class PushHubAction extends Action
$secret = $this->arg('hub.secret', null);
if ($secret != '' && strlen($secret) >= 200) {
// TRANS: Client exception.
// TRANS: Client exception. %s is the invalid hub secret.
throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
}
@@ -161,8 +157,8 @@ class PushHubAction extends Action
if ($feed == $userFeed) {
$user = User::staticGet('id', $id);
if (!$user) {
// TRANS: Client exception.
throw new ClientException(sprintt(_m('Invalid hub.topic "%s". User doesn\'t exist.'),$feed));
// TRANS: Client exception. %s is a feed URL.
throw new ClientException(sprintt(_m('Invalid hub.topic "%s". User does not exist.'),$feed));
} else {
return true;
}
@@ -170,13 +166,29 @@ class PushHubAction extends Action
if ($feed == $groupFeed) {
$user = User_group::staticGet('id', $id);
if (!$user) {
// TRANS: Client exception.
throw new ClientException(sprintf(_m('Invalid hub.topic "%s". Group doesn\'t exist.'),$feed));
// TRANS: Client exception. %s is a feed URL.
throw new ClientException(sprintf(_m('Invalid hub.topic "%s". Group does not exist.'),$feed));
} else {
return true;
}
}
common_log(LOG_DEBUG, "Not a user or group feed? $feed $userFeed $groupFeed");
} else if (preg_match('!/(\d+)/lists/(\d+)/statuses\.atom$!', $feed, $matches)) {
$user = $matches[1];
$id = $matches[2];
$params = array('user' => $user, 'id' => $id, 'format' => 'atom');
$listFeed = common_local_url('ApiTimelineList', $params);
if ($feed == $listFeed) {
$list = Profile_list::staticGet('id', $id);
$user = User::staticGet('id', $user);
if (!$list || !$user || $list->tagger != $user->id) {
// TRANS: Client exception. %s is a feed URL.
throw new ClientException(sprintf(_m('Invalid hub.topic %s; list does not exist.'),$feed));
} else {
return true;
}
}
common_log(LOG_DEBUG, "Not a user, group or people tag feed? $feed $userFeed $groupFeed $listFeed");
}
common_log(LOG_DEBUG, "LOST $feed");
return false;

View File

@@ -34,12 +34,14 @@ class UsersalmonAction extends SalmonAction
$id = $this->trimmed('id');
if (!$id) {
// TRANS: Client error displayed trying to perform an action without providing an ID.
$this->clientError(_m('No ID.'));
}
$this->user = User::staticGet('id', $id);
if (empty($this->user)) {
// TRANS: Client error displayed when referring to a non-existing user.
$this->clientError(_m('No such user.'));
}
@@ -67,7 +69,8 @@ class UsersalmonAction extends SalmonAction
case ActivityObject::COMMENT:
break;
default:
throw new ClientException("Can't handle that kind of post.");
// TRANS: Client exception thrown when an undefied activity is performed.
throw new ClientException(_m('Cannot handle that kind of post.'));
}
// Notice must either be a) in reply to a notice by this user
@@ -92,11 +95,11 @@ class UsersalmonAction extends SalmonAction
!in_array(common_profile_url($this->user->nickname), $context->attention)) {
common_log(LOG_ERR, "{$this->user->uri} not in attention list (".implode(',', $context->attention).")");
// TRANS: Client exception.
throw new ClientException('To the attention of user(s), not including this one.');
throw new ClientException(_m('To the attention of user(s), not including this one.'));
}
} else {
// TRANS: Client exception.
throw new ClientException('Not to anyone in reply to anything.');
throw new ClientException(_m('Not to anyone in reply to anything.'));
}
$existing = Notice::staticGet('uri', $this->activity->objects[0]->id);
@@ -157,7 +160,7 @@ class UsersalmonAction extends SalmonAction
if (!empty($old)) {
// TRANS: Client exception.
throw new ClientException(_('This is already a favorite.'));
throw new ClientException(_m('This is already a favorite.'));
}
if (!Fave::addNew($profile, $notice)) {
@@ -179,12 +182,81 @@ class UsersalmonAction extends SalmonAction
'notice_id' => $notice->id));
if (empty($fave)) {
// TRANS: Client exception.
throw new ClientException(_('Notice wasn\'t favorited!'));
throw new ClientException(_m('Notice was not favorited!'));
}
$fave->delete();
}
function handleTag()
{
if ($this->activity->target->type == ActivityObject::_LIST) {
if ($this->activity->objects[0]->type != ActivityObject::PERSON) {
// TRANS: Client exception.
throw new ClientException(_m('Not a person object.'));
return false;
}
// this is a peopletag
$tagged = User::staticGet('uri', $this->activity->objects[0]->id);
if (empty($tagged)) {
// TRANS: Client exception.
throw new ClientException(_m('Unidentified profile being tagged.'));
}
if ($tagged->id !== $this->user->id) {
// TRANS: Client exception.
throw new ClientException(_m('This user is not the one being tagged.'));
}
// save the list
$tagger = $this->ensureProfile();
$list = Ostatus_profile::ensureActivityObjectProfile($this->activity->target);
$ptag = $list->localPeopletag();
$result = Profile_tag::setTag($ptag->tagger, $tagged->id, $ptag->tag);
if (!$result) {
// TRANS: Client exception.
throw new ClientException(_m('The tag could not be saved.'));
}
}
}
function handleUntag()
{
if ($this->activity->target->type == ActivityObject::_LIST) {
if ($this->activity->objects[0]->type != ActivityObject::PERSON) {
// TRANS: Client exception.
throw new ClientException(_m('Not a person object.'));
return false;
}
// this is a peopletag
$tagged = User::staticGet('uri', $this->activity->objects[0]->id);
if (empty($tagged)) {
// TRANS: Client exception.
throw new ClientException(_m('Unidentified profile being untagged.'));
}
if ($tagged->id !== $this->user->id) {
// TRANS: Client exception.
throw new ClientException(_m('This user is not the one being untagged.'));
}
// save the list
$tagger = $this->ensureProfile();
$list = Ostatus_profile::ensureActivityObjectProfile($this->activity->target);
$ptag = $list->localPeopletag();
$result = Profile_tag::unTag($ptag->tagger, $tagged->id, $ptag->tag);
if (!$result) {
// TRANS: Client exception.
throw new ClientException(_m('The tag could not be deleted.'));
}
}
}
/**
* @param ActivityObject $object
* @return Notice
@@ -194,7 +266,7 @@ class UsersalmonAction extends SalmonAction
{
if (!$object) {
// TRANS: Client exception.
throw new ClientException(_m('Can\'t favorite/unfavorite without an object.'));
throw new ClientException(_m('Cannot favorite/unfavorite without an object.'));
}
switch ($object->type) {
@@ -206,7 +278,7 @@ class UsersalmonAction extends SalmonAction
break;
default:
// TRANS: Client exception.
throw new ClientException(_m('Can\'t handle that kind of object for liking/faving.'));
throw new ClientException(_m('Cannot handle that kind of object for liking/faving.'));
}
$notice = Notice::staticGet('uri', $object->id);

View File

@@ -249,6 +249,7 @@ class FeedSub extends Memcached_DataObject
// We'll never actually get updates in this mode.
return true;
} else {
// TRANS: Server exception.
throw new ServerException(_m('Attempting to start PuSH subscription for feed with no hub.'));
}
}
@@ -279,6 +280,7 @@ class FeedSub extends Memcached_DataObject
// We'll never actually get updates in this mode.
return true;
} else {
// TRANS: Server exception.
throw new ServerException(_m('Attempting to end PuSH subscription for feed with no hub.'));
}
}

View File

@@ -34,6 +34,7 @@ class Ostatus_profile extends Managed_DataObject
public $profile_id;
public $group_id;
public $peopletag_id;
public $feeduri;
public $salmonuri;
@@ -52,7 +53,6 @@ class Ostatus_profile extends Managed_DataObject
*
* @return array array of column definitions
*/
static function schemaDef()
{
return array(
@@ -60,6 +60,7 @@ class Ostatus_profile extends Managed_DataObject
'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true),
'profile_id' => array('type' => 'integer'),
'group_id' => array('type' => 'integer'),
'peopletag_id' => array('type' => 'integer'),
'feeduri' => array('type' => 'varchar', 'length' => 255),
'salmonuri' => array('type' => 'varchar', 'length' => 255),
'avatar' => array('type' => 'text'),
@@ -70,11 +71,13 @@ class Ostatus_profile extends Managed_DataObject
'unique keys' => array(
'ostatus_profile_profile_id_idx' => array('profile_id'),
'ostatus_profile_group_id_idx' => array('group_id'),
'ostatus_profile_peopletag_id_idx' => array('peopletag_id'),
'ostatus_profile_feeduri_idx' => array('feeduri'),
),
'foreign keys' => array(
'ostatus_profile_profile_id_fkey' => array('profile', array('profile_id' => 'id')),
'ostatus_profile_group_id_fkey' => array('user_group', array('group_id' => 'id')),
'ostatus_profile_peopletag_id_fkey' => array('profile_list', array('peopletag_id' => 'id')),
),
);
}
@@ -103,6 +106,18 @@ class Ostatus_profile extends Managed_DataObject
return null;
}
/**
* Fetch the StatusNet-side peopletag for this feed
* @return Profile
*/
public function localPeopletag()
{
if ($this->peopletag_id) {
return Profile_list::staticGet('id', $this->peopletag_id);
}
return null;
}
/**
* Returns an ActivityObject describing this remote user or group profile.
* Can then be used to generate Atom chunks.
@@ -113,6 +128,8 @@ class Ostatus_profile extends Managed_DataObject
{
if ($this->isGroup()) {
return ActivityObject::fromGroup($this->localGroup());
} else if ($this->isPeopletag()) {
return ActivityObject::fromPeopletag($this->localPeopletag());
} else {
return ActivityObject::fromProfile($this->localProfile());
}
@@ -134,6 +151,9 @@ class Ostatus_profile extends Managed_DataObject
if ($this->isGroup()) {
$noun = ActivityObject::fromGroup($this->localGroup());
return $noun->asString('activity:' . $element);
} else if ($this->isPeopletag()) {
$noun = ActivityObject::fromPeopletag($this->localPeopletag());
return $noun->asString('activity:' . $element);
} else {
$noun = ActivityObject::fromProfile($this->localProfile());
return $noun->asString('activity:' . $element);
@@ -145,16 +165,34 @@ class Ostatus_profile extends Managed_DataObject
*/
function isGroup()
{
if ($this->profile_id && !$this->group_id) {
if ($this->profile_id || $this->peopletag_id && !$this->group_id) {
return false;
} else if ($this->group_id && !$this->profile_id) {
} else if ($this->group_id && !$this->profile_id && !$this->peopletag_id) {
return true;
} else if ($this->group_id && $this->profile_id) {
// TRANS: Server exception. %s is a URI.
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs set for %s.'),$this->uri));
} else if ($this->group_id && ($this->profile_id || $this->peopletag_id)) {
// TRANS: Server exception. %s is a URI
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: Two or more IDs set for %s.'), $this->uri));
} else {
// TRANS: Server exception. %s is a URI.
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs empty for %s.'),$this->uri));
// TRANS: Server exception. %s is a URI
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: All IDs empty for %s.'), $this->uri));
}
}
/**
* @return boolean true if this is a remote peopletag
*/
function isPeopletag()
{
if ($this->profile_id || $this->group_id && !$this->peopletag_id) {
return false;
} else if ($this->peopletag_id && !$this->profile_id && !$this->group_id) {
return true;
} else if ($this->peopletag_id && ($this->profile_id || $this->group_id)) {
// TRANS: Server exception. %s is a URI
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: Two or more IDs set for %s.'), $this->uri));
} else {
// TRANS: Server exception. %s is a URI
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: All IDs empty for %s.'), $this->uri));
}
}
@@ -214,8 +252,15 @@ class Ostatus_profile extends Managed_DataObject
if ($this->isGroup()) {
$members = $this->localGroup()->getMembers(0, 1);
$count = $members->N;
} else if ($this->isPeopletag()) {
$subscribers = $this->localPeopletag()->getSubscribers(0, 1);
$count = $subscribers->N;
} else {
$count = $this->localProfile()->subscriberCount();
$profile = $this->localProfile();
$count = $profile->subscriberCount();
if ($profile->hasLocalTags()) {
$count = 1;
}
}
common_log(LOG_INFO, __METHOD__ . " SUB COUNT BEFORE: $count");
@@ -235,7 +280,7 @@ class Ostatus_profile extends Managed_DataObject
* @param string $verb Activity::SUBSCRIBE or Activity::JOIN
* @param Object $object object of the action; must define asActivityNoun($tag)
*/
public function notify($actor, $verb, $object=null)
public function notify($actor, $verb, $object=null, $target=null)
{
if (!($actor instanceof Profile)) {
$type = gettype($actor);
@@ -250,7 +295,6 @@ class Ostatus_profile extends Managed_DataObject
$object = $this;
}
if ($this->salmonuri) {
$text = 'update';
$id = TagURI::mint('%s:%s:%s',
$verb,
@@ -277,6 +321,9 @@ class Ostatus_profile extends Managed_DataObject
$entry->raw($actor->asAtomAuthor());
$entry->raw($actor->asActivityActor());
$entry->raw($object->asActivityNoun('object'));
if ($target != null) {
$entry->raw($target->asActivityNoun('target'));
}
$entry->elementEnd('entry');
$xml = $entry->getString();
@@ -346,6 +393,8 @@ class Ostatus_profile extends Managed_DataObject
{
if ($this->isGroup()) {
return $this->localGroup()->getBestName();
} else if ($this->isPeopletag()) {
return $this->localPeopletag()->getBestName();
} else {
return $this->localProfile()->getBestName();
}
@@ -415,14 +464,12 @@ class Ostatus_profile extends Managed_DataObject
* @param DOMElement $feed for context
* @param string $source identifier ("push" or "salmon")
*/
public function processEntry($entry, $feed, $source)
{
$activity = new Activity($entry, $feed);
if (Event::handle('StartHandleFeedEntryWithProfile', array($activity, $this)) &&
Event::handle('StartHandleFeedEntry', array($activity))) {
// @todo process all activity objects
switch ($activity->objects[0]->type) {
case ActivityObject::ARTICLE:
@@ -430,7 +477,7 @@ class Ostatus_profile extends Managed_DataObject
case ActivityObject::NOTE:
case ActivityObject::STATUS:
case ActivityObject::COMMENT:
case null:
case null:
if ($activity->verb == ActivityVerb::POST) {
$this->processPost($activity, $source);
} else {
@@ -439,7 +486,7 @@ class Ostatus_profile extends Managed_DataObject
break;
default:
// TRANS: Client exception.
throw new ClientException(_m('Can\'t handle that kind of post.'));
throw new ClientException(_m('Cannot handle that kind of post.'));
}
Event::handle('EndHandleFeedEntry', array($activity));
@@ -529,7 +576,7 @@ class Ostatus_profile extends Managed_DataObject
// We mark up the attachment link specially for the HTML output
// so we can fold-out the full version inline.
// @fixme I18N this tooltip will be saved with the site's default language
// @todo FIXME i18n: This tooltip will be saved with the site's default language
// TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
// TRANS: this will usually be replaced with localised text from StatusNet core messages.
$showMoreText = _m('Show more');
@@ -550,6 +597,7 @@ class Ostatus_profile extends Managed_DataObject
'rendered' => $rendered,
'replies' => array(),
'groups' => array(),
'peopletags' => array(),
'tags' => array(),
'urls' => array());
@@ -586,6 +634,10 @@ class Ostatus_profile extends Managed_DataObject
}
}
if ($this->isPeopletag()) {
$options['peopletags'][] = $this->localPeopletag();
}
// Atom categories <-> hashtags
foreach ($activity->categories as $cat) {
if ($cat->term) {
@@ -705,7 +757,6 @@ class Ostatus_profile extends Managed_DataObject
* @throws Exception on various error conditions
* @throws OStatusShadowException if this reference would obscure a local user/group
*/
public static function ensureProfileURL($profile_url, $hints=array())
{
$oprofile = self::getFromProfileURL($profile_url);
@@ -874,7 +925,6 @@ class Ostatus_profile extends Managed_DataObject
* @return Ostatus_profile
* @throws Exception
*/
public static function ensureAtomFeed($feedEl, $hints)
{
$author = ActivityUtils::getFeedAuthor($feedEl);
@@ -882,7 +932,7 @@ class Ostatus_profile extends Managed_DataObject
if (empty($author)) {
// XXX: make some educated guesses here
// TRANS: Feed sub exception.
throw new FeedSubException(_m('Can\'t find enough profile '.
throw new FeedSubException(_m('Cannot find enough profile '.
'information to make a feed.'));
}
@@ -946,7 +996,7 @@ class Ostatus_profile extends Managed_DataObject
}
if (!common_valid_http_url($url)) {
// TRANS: Server exception. %s is a URL.
throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url));
throw new ServerException(sprintf(_m('Invalid avatar URL %s.'), $url));
}
if ($this->isGroup()) {
@@ -957,7 +1007,7 @@ class Ostatus_profile extends Managed_DataObject
if (!$self) {
throw new ServerException(sprintf(
// TRANS: Server exception. %s is a URI.
_m("Tried to update avatar for unsaved remote profile %s."),
_m('Tried to update avatar for unsaved remote profile %s.'),
$this->uri));
}
@@ -967,7 +1017,7 @@ class Ostatus_profile extends Managed_DataObject
try {
if (!copy($url, $temp_filename)) {
// TRANS: Server exception. %s is a URL.
throw new ServerException(sprintf(_m("Unable to fetch avatar from %s."), $url));
throw new ServerException(sprintf(_m('Unable to fetch avatar from %s.'), $url));
}
if ($this->isGroup()) {
@@ -1008,7 +1058,6 @@ class Ostatus_profile extends Managed_DataObject
* @param array $hints
* @return mixed URL string or false
*/
public static function getActivityObjectAvatar($object, $hints=array())
{
if ($object->avatarLinks) {
@@ -1038,7 +1087,6 @@ class Ostatus_profile extends Managed_DataObject
* @param DOMElement $feed
* @return string
*/
protected static function getAvatar($actor, $feed)
{
$url = '';
@@ -1090,7 +1138,6 @@ class Ostatus_profile extends Managed_DataObject
* @return Ostatus_profile
* @throws Exception
*/
public static function ensureActorProfile($activity, $hints=array())
{
return self::ensureActivityObjectProfile($activity->actor, $hints);
@@ -1107,7 +1154,6 @@ class Ostatus_profile extends Managed_DataObject
* @return Ostatus_profile
* @throws Exception
*/
public static function ensureActivityObjectProfile($object, $hints=array())
{
$profile = self::getActivityObjectProfile($object);
@@ -1163,7 +1209,8 @@ class Ostatus_profile extends Managed_DataObject
if ($object->link && common_valid_http_url($object->link)) {
return $object->link;
}
throw new ServerException("No author ID URI found.");
// TRANS: Server exception.
throw new ServerException(_m('No author ID URI found.'));
}
/**
@@ -1188,18 +1235,28 @@ class Ostatus_profile extends Managed_DataObject
if (!$homeuri) {
common_log(LOG_DEBUG, __METHOD__ . " empty actor profile URI: " . var_export($activity, true));
throw new Exception("No profile URI");
// TRANS: Exception.
throw new Exception(_m('No profile URI.'));
}
$user = User::staticGet('uri', $homeuri);
if ($user) {
// TRANS: Exception.
throw new Exception(_m('Local user can\'t be referenced as remote.'));
throw new Exception(_m('Local user cannot be referenced as remote.'));
}
if (OStatusPlugin::localGroupFromUrl($homeuri)) {
// TRANS: Exception.
throw new Exception(_m('Local group can\'t be referenced as remote.'));
throw new Exception(_m('Local group cannot be referenced as remote.'));
}
$ptag = Profile_list::staticGet('uri', $homeuri);
if ($ptag) {
$local_user = User::staticGet('id', $ptag->tagger);
if (!empty($local_user)) {
// TRANS: Exception.
throw new Exception(_m('Local list cannot be referenced as remote.'));
}
}
if (array_key_exists('feedurl', $hints)) {
@@ -1251,9 +1308,9 @@ class Ostatus_profile extends Managed_DataObject
$oprofile->profile_id = $profile->insert();
if (!$oprofile->profile_id) {
// TRANS: Server exception.
throw new ServerException(_m('Can\'t save local profile.'));
throw new ServerException(_m('Cannot save local profile.'));
}
} else {
} else if ($object->type == ActivityObject::GROUP) {
$group = new User_group();
$group->uri = $homeuri;
$group->created = common_sql_now();
@@ -1262,7 +1319,18 @@ class Ostatus_profile extends Managed_DataObject
$oprofile->group_id = $group->insert();
if (!$oprofile->group_id) {
// TRANS: Server exception.
throw new ServerException(_m('Can\'t save local profile.'));
throw new ServerException(_m('Cannot save local profile.'));
}
} else if ($object->type == ActivityObject::_LIST) {
$ptag = new Profile_list();
$ptag->uri = $homeuri;
$ptag->created = common_sql_now();
self::updatePeopletag($ptag, $object, $hints);
$oprofile->peopletag_id = $ptag->insert();
if (!$oprofile->peopletag_id) {
// TRANS: Server exception.
throw new ServerException(_m('Cannot save local list.'));
}
}
@@ -1270,7 +1338,7 @@ class Ostatus_profile extends Managed_DataObject
if (!$ok) {
// TRANS: Server exception.
throw new ServerException(_m('Can\'t save OStatus profile.'));
throw new ServerException(_m('Cannot save OStatus profile.'));
}
$avatar = self::getActivityObjectAvatar($object, $hints);
@@ -1298,12 +1366,16 @@ class Ostatus_profile extends Managed_DataObject
if ($this->isGroup()) {
$group = $this->localGroup();
self::updateGroup($group, $object, $hints);
} else if ($this->isPeopletag()) {
$ptag = $this->localPeopletag();
self::updatePeopletag($ptag, $object, $hints);
} else {
$profile = $this->localProfile();
self::updateProfile($profile, $object, $hints);
}
$avatar = self::getActivityObjectAvatar($object, $hints);
if ($avatar) {
if ($avatar && !isset($ptag)) {
try {
$this->updateAvatar($avatar);
} catch (Exception $ex) {
@@ -1401,6 +1473,27 @@ class Ostatus_profile extends Managed_DataObject
}
}
protected static function updatePeopletag($tag, $object, $hints=array()) {
$orig = clone($tag);
$tag->tag = $object->title;
if (!empty($object->link)) {
$tag->mainpage = $object->link;
} else if (array_key_exists('profileurl', $hints)) {
$tag->mainpage = $hints['profileurl'];
}
$tag->description = $object->summary;
$tagger = self::ensureActivityObjectProfile($object->owner);
$tag->tagger = $tagger->profile_id;
if ($tag->id) {
common_log(LOG_DEBUG, "Updating OStatus peopletag $tag->id from remote info $object->id: " . var_export($object, true) . var_export($hints, true));
$tag->update($orig);
}
}
protected static function getActivityObjectHomepage($object, $hints=array())
{
$homepage = null;
@@ -1567,7 +1660,6 @@ class Ostatus_profile extends Managed_DataObject
}
// Try looking it up
$oprofile = Ostatus_profile::staticGet('uri', 'acct:'.$addr);
if (!empty($oprofile)) {
@@ -1585,7 +1677,7 @@ class Ostatus_profile extends Managed_DataObject
// Save negative cache entry so we don't waste time looking it up again.
// @fixme distinguish temporary failures?
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), null);
// TRANS: Exception.
// TRANS: Exception.
throw new Exception(_m('Not a valid webfinger address.'));
}
@@ -1596,7 +1688,6 @@ class Ostatus_profile extends Managed_DataObject
$hints = array_merge($hints, $dhints);
// If there's an Hcard, let's grab its info
if (array_key_exists('hcard', $hints)) {
if (!array_key_exists('profileurl', $hints) ||
$hints['hcard'] != $hints['profileurl']) {
@@ -1606,7 +1697,6 @@ class Ostatus_profile extends Managed_DataObject
}
// If we got a feed URL, try that
if (array_key_exists('feedurl', $hints)) {
try {
common_log(LOG_INFO, "Discovery on acct:$addr with feed URL " . $hints['feedurl']);
@@ -1620,7 +1710,6 @@ class Ostatus_profile extends Managed_DataObject
}
// If we got a profile page, try that!
if (array_key_exists('profileurl', $hints)) {
try {
common_log(LOG_INFO, "Discovery on acct:$addr with profile URL $profileUrl");
@@ -1646,7 +1735,6 @@ class Ostatus_profile extends Managed_DataObject
// XXX: try FOAF
if (array_key_exists('salmon', $hints)) {
$salmonEndpoint = $hints['salmon'];
// An account URL, a salmon endpoint, and a dream? Not much to go
@@ -1668,7 +1756,7 @@ class Ostatus_profile extends Managed_DataObject
if (!$profile_id) {
common_log_db_error($profile, 'INSERT', __FILE__);
// TRANS: Exception. %s is a webfinger address.
throw new Exception(sprintf(_m('Couldn\'t save profile for "%s".'),$addr));
throw new Exception(sprintf(_m('Could not save profile for "%s".'),$addr));
}
$oprofile = new Ostatus_profile();
@@ -1687,7 +1775,7 @@ class Ostatus_profile extends Managed_DataObject
if (!$result) {
common_log_db_error($oprofile, 'INSERT', __FILE__);
// TRANS: Exception. %s is a webfinger address.
throw new Exception(sprintf(_m('Couldn\'t save ostatus_profile for "%s".'),$addr));
throw new Exception(sprintf(_m('Could not save OStatus profile for "%s".'),$addr));
}
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
@@ -1695,7 +1783,7 @@ class Ostatus_profile extends Managed_DataObject
}
// TRANS: Exception. %s is a webfinger address.
throw new Exception(sprintf(_m('Couldn\'t find a valid profile for "%s".'),$addr));
throw new Exception(sprintf(_m('Could not find a valid profile for "%s".'),$addr));
}
/**
@@ -1768,11 +1856,16 @@ class Ostatus_profile extends Managed_DataObject
$oprofile = Ostatus_profile::ensureWebfinger($rest);
break;
default:
throw new ServerException("Unrecognized URI protocol for profile: $protocol ($uri)");
// TRANS: Server exception.
// TRANS: %1$s is a protocol, %2$s is a URI.
throw new ServerException(sprintf(_m('Unrecognized URI protocol for profile: %1$s (%2$s).'),
$protocol,
$uri));
break;
}
} else {
throw new ServerException("No URI protocol for profile: ($uri)");
// TRANS: Server exception. %s is a URI.
throw new ServerException(sprintf(_m('No URI protocol for profile: %s.'),$uri));
}
}
@@ -1781,15 +1874,14 @@ class Ostatus_profile extends Managed_DataObject
function checkAuthorship($activity)
{
if ($this->isGroup()) {
// A group feed will contain posts from multiple authors.
// @fixme validate these profiles in some way!
if ($this->isGroup() || $this->isPeopletag()) {
// A group or propletag feed will contain posts from multiple authors.
$oprofile = self::ensureActorProfile($activity);
if ($oprofile->isGroup()) {
if ($oprofile->isGroup() || $oprofile->isPeopletag()) {
// Groups can't post notices in StatusNet.
common_log(LOG_WARNING,
"OStatus: skipping post with group listed as author: ".
"$oprofile->uri in feed from $this->uri");
common_log(LOG_WARNING,
"OStatus: skipping post with group listed ".
"as author: $oprofile->uri in feed from $this->uri");
return false;
}
} else {

View File

@@ -92,7 +92,8 @@ SN.U.DialogBox = {
};
SN.Init.Subscribe = function() {
$('.entity_subscribe .entity_remote_subscribe').live('click', function() { SN.U.DialogBox.Subscribe($(this)); return false; });
$('.entity_subscribe .entity_remote_subscribe, .entity_tag .entity_remote_tag')
.live('click', function() { SN.U.DialogBox.Subscribe($(this)); return false; });
};
$(document).ready(function() {

View File

@@ -26,7 +26,6 @@
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class MagicEnvelope
{
const ENCODING = 'base64url';
@@ -327,4 +326,3 @@ class MagicEnvelopeCompat extends MagicEnvelope {
return $env['data'];
}
}

View File

@@ -64,13 +64,6 @@ class OStatusQueueHandler extends QueueHandler
}
}
foreach ($notice->getReplies() as $profile_id) {
$oprofile = Ostatus_profile::staticGet('profile_id', $profile_id);
if ($oprofile) {
$this->pingReply($oprofile);
}
}
if (!empty($this->notice->reply_to)) {
$replyTo = Notice::staticGet('id', $this->notice->reply_to);
if (!empty($replyTo)) {
@@ -82,6 +75,14 @@ class OStatusQueueHandler extends QueueHandler
}
}
}
foreach ($notice->getProfileTags() as $ptag) {
$oprofile = Ostatus_profile::staticGet('peopletag_id', $ptag->id);
if (!$oprofile) {
$this->pushPeopletag($ptag);
}
}
return true;
}
@@ -107,6 +108,17 @@ class OStatusQueueHandler extends QueueHandler
$this->pushFeed($feed, array($this, 'groupFeedForNotice'), $group_id);
}
function pushPeopletag($ptag)
{
// For a local people tag, ping the PuSH hub to update its feed.
// Updates may come from either a local or a remote user.
$feed = common_local_url('ApiTimelineList',
array('id' => $ptag->id,
'user' => $ptag->tagger,
'format' => 'atom'));
$this->pushFeed($feed, array($this, 'peopletagFeedForNotice'), $ptag);
}
function pingReply($oprofile)
{
if ($this->user) {
@@ -225,4 +237,13 @@ class OStatusQueueHandler extends QueueHandler
return $feed;
}
function peopletagFeedForNotice($ptag)
{
$atom = new AtomListNoticeFeed($ptag);
$atom->addEntryFromNotice($this->notice);
$feed = $atom->getString();
return $feed;
}
}

View File

@@ -59,9 +59,9 @@ class Salmon
common_log(LOG_ERR, "Salmon unable to sign: " . $e->getMessage());
return false;
}
$headers = array('Content-Type: application/magic-envelope+xml');
try {
$client = new HTTPClient();
$client->setBody($envelope);

View File

@@ -44,7 +44,7 @@ class SalmonAction extends Action
}
if (empty($_SERVER['CONTENT_TYPE']) || $_SERVER['CONTENT_TYPE'] != 'application/magic-envelope+xml') {
// TRANS: Client error. Do not translate "application/magic-envelope+xml"
// TRANS: Client error. Do not translate "application/magic-envelope+xml".
$this->clientError(_m('Salmon requires "application/magic-envelope+xml".'));
}
@@ -112,12 +112,18 @@ class SalmonAction extends Action
case ActivityVerb::LEAVE:
$this->handleLeave();
break;
case ActivityVerb::TAG:
$this->handleTag();
break;
case ActivityVerb::UNTAG:
$this->handleUntag();
break;
case ActivityVerb::UPDATE_PROFILE:
$this->handleUpdateProfile();
break;
default:
// TRANS: Client exception.
throw new ClientException(_m("Unrecognized activity type."));
throw new ClientException(_m('Unrecognized activity type.'));
}
Event::handle('EndHandleSalmon', array($this->activity));
Event::handle('EndHandleSalmonTarget', array($this->activity, $this->target));
@@ -127,49 +133,61 @@ class SalmonAction extends Action
function handlePost()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand posts."));
throw new ClientException(_m('This target does not understand posts.'));
}
function handleFollow()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand follows."));
throw new ClientException(_m('This target does not understand follows.'));
}
function handleUnfollow()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand unfollows."));
throw new ClientException(_m('This target does not understand unfollows.'));
}
function handleFavorite()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand favorites."));
throw new ClientException(_m('This target does not understand favorites.'));
}
function handleUnfavorite()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand unfavorites."));
throw new ClientException(_m('This target does not understand unfavorites.'));
}
function handleShare()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand share events."));
throw new ClientException(_m('This target does not understand share events.'));
}
function handleJoin()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand joins."));
throw new ClientException(_m('This target does not understand joins.'));
}
function handleLeave()
{
// TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand leave events."));
throw new ClientException(_m('This target does not understand leave events.'));
}
function handleTag()
{
// TRANS: Client exception.
throw new ClientException(_m('This target does not understand tag events.'));
}
function handleUntag()
{
// TRANS: Client exception.
throw new ClientException(_m('This target does not understand untag events.'));
}
/**

View File

@@ -0,0 +1,131 @@
<?php
/*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2010, StatusNet, Inc.
*
* This program 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.
*
* 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.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @package OStatusPlugin
* @maintainer James Walker <james@status.net>
*/
if (!defined('STATUSNET')) {
exit(1);
}
class XrdAction extends Action
{
public $uri;
public $user;
public $xrd;
function handle()
{
$nick = $this->user->nickname;
$profile = $this->user->getProfile();
if (empty($this->xrd)) {
$xrd = new XRD();
} else {
$xrd = $this->xrd;
}
if (empty($xrd->subject)) {
$xrd->subject = Discovery::normalize($this->uri);
}
// Possible aliases for the user
$uris = array($this->user->uri, $profile->profileurl);
// FIXME: Webfinger generation code should live somewhere on its own
$path = common_config('site', 'path');
if (empty($path)) {
$uris[] = sprintf('acct:%s@%s', $nick, common_config('site', 'server'));
}
foreach ($uris as $uri) {
if ($uri != $xrd->subject) {
$xrd->alias[] = $uri;
}
}
$xrd->links[] = array('rel' => Discovery::PROFILEPAGE,
'type' => 'text/html',
'href' => $profile->profileurl);
$xrd->links[] = array('rel' => Discovery::UPDATESFROM,
'href' => common_local_url('ApiTimelineUser',
array('id' => $this->user->id,
'format' => 'atom')),
'type' => 'application/atom+xml');
// hCard
$xrd->links[] = array('rel' => Discovery::HCARD,
'type' => 'text/html',
'href' => common_local_url('hcard', array('nickname' => $nick)));
// XFN
$xrd->links[] = array('rel' => 'http://gmpg.org/xfn/11',
'type' => 'text/html',
'href' => $profile->profileurl);
// FOAF
$xrd->links[] = array('rel' => 'describedby',
'type' => 'application/rdf+xml',
'href' => common_local_url('foaf',
array('nickname' => $nick)));
// Salmon
$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);
$xrd->links[] = array('rel' => Salmon::NS_MENTIONS,
'href' => $salmon_url);
// Get this user's keypair
$magickey = Magicsig::staticGet('user_id', $this->user->id);
if (!$magickey) {
// No keypair yet, let's generate one.
$magickey = new Magicsig();
$magickey->generate($this->user->id);
}
$xrd->links[] = array('rel' => Magicsig::PUBLICKEYREL,
'href' => 'data:application/magic-public-key,'. $magickey->toString(false));
// TODO - finalize where the redirect should go on the publisher
$url = common_local_url('ostatussub') . '?profile={uri}';
$xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe',
'template' => $url );
$url = common_local_url('tagprofile') . '?uri={uri}';
$xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/tag',
'template' => $url );
header('Content-type: application/xrd+xml');
print $xrd->toXML();
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,7 @@
# Exported from translatewiki.net
#
# Author: Fujnky
# Author: Giftpflanze
# Author: Michael
# --
# This file is distributed under the same license as the StatusNet package.
@@ -10,13 +11,13 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:43+0000\n"
"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -25,24 +26,64 @@ msgstr ""
msgid "Feeds"
msgstr "Feeds"
#. TRANS: Link description for link to subscribe to a remote user.
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "Abonnieren"
#. TRANS: Link description for link to join a remote group.
msgid "Join"
msgstr "Beitreten"
#. TRANS: Fieldset legend.
#, fuzzy
msgid "Tag remote profile"
msgstr "Du musst ein Remoteprofil angeben."
#. TRANSLATE: %s is a domain.
#. TRANS: Field label.
#, fuzzy
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Beitritt in Remote-Gruppe fehlgeschlagen!"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
#, fuzzy
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"Adresse des OStatus-Benutzers, wie nickname@example.com oder http://example."
"net/nickname"
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Holen"
#. TRANS: Exception in OStatus when invalid URI was entered.
#, fuzzy
msgid "Invalid URI."
msgstr "Ungültiger Avatar-URL %s."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Entschuldigung, wir konnte diese Adresse nicht erreichen. Bitte überprüfe, "
"ob die OStatus-Adresse gültig ist. Beispiele: nickname@example.com oder "
"http://example.net/nickname."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Gesendet von %s über OStatus"
#. TRANS: Exception.
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "Konnte Remote-Abonnement nicht einrichten."
#. TRANS: Title for unfollowing a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Nicht mehr beachten"
@@ -52,19 +93,29 @@ msgstr "Nicht mehr beachten"
msgid "%1$s stopped following %2$s."
msgstr "%1$s folgt %2$s nicht mehr."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "Konnte Remotegruppenmitgliedschaft nicht einrichten."
#. TRANS: Title for joining a remote groep.
#, fuzzy
msgctxt "TITLE"
msgid "Join"
msgstr "Beitreten"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "%1$s ist der Gruppe %2$s beigetreten"
#. TRANS: Exception.
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "Fehler beim Beitreten der Remotegruppe."
#. TRANS: Title for leaving a remote group.
#, fuzzy
msgctxt "TITLE"
msgid "Leave"
msgstr "Verlassen"
@@ -74,18 +125,83 @@ msgstr "Verlassen"
msgid "%1$s has left group %2$s."
msgstr "%1$s hat die Gruppe %2$s verlassen"
msgid "Disfavor"
#. TRANS: Exception thrown when setup of remote list subscription fails.
#, fuzzy
msgid "Could not set up remote list subscription."
msgstr "Konnte Remote-Abonnement nicht einrichten."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Der Liste folgen"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s folgt %2$s nicht mehr."
#. TRANS: Exception thrown when subscription to remote list fails.
#, fuzzy
msgid "Failed subscribing to remote list."
msgstr "Fehler beim Beitreten der Remotegruppe."
#. TRANS: Title for unfollowing a remote list.
#, fuzzy
msgid "Unfollow list"
msgstr "Nicht mehr beachten"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s folgt %2$s nicht mehr."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s folgt %2$s nicht mehr."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Konnte Abonnement für den Feed des entfernt liegenden Profils nicht "
"vollenden. Tag %s konnte nicht gespeichert werden."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Nicht mehr beachten"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s folgt %2$s nicht mehr."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, php-format
msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr "%1$s markierte Nachricht %2$s nicht mehr als Favorit."
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s folgt %2$s nicht mehr."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
msgstr ""
msgstr "Außerhalb"
#. TRANS: Title for activity.
msgid "Profile update"
@@ -97,6 +213,10 @@ msgstr "Profil aktualisieren"
msgid "%s has updated their profile page."
msgstr "%s hat die Profil-Seite aktualisiert."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "Tag"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
@@ -123,30 +243,35 @@ msgstr ""
"Nicht unterstütztes hub.topic %s. Dieser Hub stellt nur Atom-Feeds lokaler "
"Benutzer und Gruppen zur verfügung."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr "Ungültiger hub.verify „%s“. Es muss sync oder async sein."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr ""
"Ungültiger hub.lease „%s“. Es muss eine leere oder positive Ganzzahl sein."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr "Ungültiges hub.secret „%s“. Es muss kleiner als 200 Bytes sein."
#. TRANS: Client exception.
#, php-format
msgid "Invalid hub.topic \"%s\". User doesn't exist."
#. TRANS: Client exception. %s is a feed URL.
#, fuzzy, php-format
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr "Ungültiges hub.topic „%s“. Benutzer existiert nicht."
#. TRANS: Client exception.
#, php-format
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
#. TRANS: Client exception. %s is a feed URL.
#, fuzzy, php-format
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "Ungültiges hub.topic „%s“. Gruppe existiert nicht."
#. TRANS: Client exception. %s is a feed URL.
#, fuzzy, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Ungültiges hub.topic „%s“. Gruppe existiert nicht."
#. TRANS: Client exception.
@@ -155,6 +280,58 @@ msgstr "Ungültiges hub.topic „%s“. Gruppe existiert nicht."
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "Ungültiger URL für %1$s übergeben: „%2$s“"
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
#, fuzzy
msgid "You can use the local tagging!"
msgstr "Du kannst ein lokales Abonnement erstellen!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "Tag %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "Ausführen"
#. TRANS: Field label.
msgid "User nickname"
msgstr "Benutzername"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Name des Benutzers, dem du folgen möchtest"
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Profil-Konto"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "Deine Konto-ID (z.B. user@identi.ca)."
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
#, fuzzy
msgid "Could not look up OStatus account profile."
msgstr "Konnte OStatus-Konto-Profil nicht nachschauen."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
#, fuzzy
msgid "Could not confirm remote profile address."
msgstr "Konnte Remoteprofiladresse nicht bestätigen."
#. TRANS: Title for an OStatus list.
#, fuzzy
msgid "OStatus list"
msgstr "OStatus-Verbindung"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "Leere oder ungültige Feed-ID."
@@ -183,6 +360,8 @@ msgstr "Unerwartete Deabonnement-Anfrage für %s."
msgid "Unexpected unsubscribe request for %s."
msgstr "Unerwartete Deabonnement-Anfrage für %s."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Unbekannter Benutzer."
@@ -190,20 +369,16 @@ msgstr "Unbekannter Benutzer."
msgid "Subscribe to"
msgstr "Abonniere"
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
"Adresse des OStatus-Benutzers, wie nickname@example.com oder http://example."
"net/nickname"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Weiter"
#. TRANS: Button text.
msgid "Join"
msgstr "Beitreten"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
@@ -221,15 +396,6 @@ msgstr "Abonniere diesen Benutzer"
msgid "You are already subscribed to this user."
msgstr "Du hast diesen Benutzer bereits abonniert:"
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Entschuldigung, wir konnte diese Adresse nicht erreichen. Bitte überprüfe, "
"ob die OStatus-Adresse gültig ist. Beispiele: nickname@example.com oder "
"http://example.net/nickname."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
@@ -239,6 +405,7 @@ msgstr ""
"diese OStatus-Adresse später noch einmal."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "Bereits abonniert!"
@@ -246,6 +413,7 @@ msgstr "Bereits abonniert!"
msgid "Remote subscription failed!"
msgstr "Remoteabonnement fehlgeschlagen!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr "Es gab ein Problem mit deinem Sitzungstoken. Bitte versuche es erneut."
@@ -253,7 +421,7 @@ msgstr "Es gab ein Problem mit deinem Sitzungstoken. Bitte versuche es erneut."
msgid "Subscribe to user"
msgstr "Abonniere diesen Benutzer"
#. TRANS: Page title for OStatus remote subscription form
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Bestätigen"
@@ -274,6 +442,7 @@ msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr ""
"OStatus-Adresse der Gruppe. Beispiel: http://example.net/group/nickname."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "Du bist bereits Mitglied dieser Gruppe."
@@ -289,7 +458,7 @@ msgstr "Beitritt in Remote-Gruppe fehlgeschlagen!"
msgid "Confirm joining remote group"
msgstr "Bestätige das Beitreten einer Remotegruppe"
#. TRANS: Instructions.
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
@@ -297,10 +466,18 @@ msgstr ""
"Du kannst Gruppen von anderen unterstützten Websites abonnieren. Füge die "
"URI der Gruppe unten ein:"
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Keine ID"
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
#, fuzzy
msgid "Cannot handle that kind of post."
msgstr "Kann diese Art von Post nicht verarbeiten."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "In der Antwort auf unbekannte Nachricht."
@@ -311,16 +488,63 @@ msgstr ""
"In einer Antowrt auf eine Nachricht, die nicht von diesem Benutzer stammt "
"und diesen Benutzer nicht erwähnt."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
#, fuzzy
msgid "This is already a favorite."
msgstr "Dieses Ziel versteht keine Favoriten."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Neuer Favorit konnte nicht gespeichert werden."
#. TRANS: Client exception.
msgid "Can't favorite/unfavorite without an object."
msgid "Notice was not favorited!"
msgstr "Notiz wurde nicht favorisiert!"
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
#, fuzzy
msgid "Cannot favorite/unfavorite without an object."
msgstr "Kann nicht ohne Objekt (ent)favorisieren."
#. TRANS: Client exception.
msgid "Can't handle that kind of object for liking/faving."
#, fuzzy
msgid "Cannot handle that kind of object for liking/faving."
msgstr "Kann diese Art von Objekt nicht für mögen/favorisieren verarbeiten."
#. TRANS: Client exception. %s is an object ID.
@@ -333,22 +557,57 @@ msgstr "Nachricht mit ID %s unbekannt."
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "Nachricht mit ID %1$s wurde nicht von %2$s geschrieben."
#. TRANS: Field label.
#, fuzzy
msgid "Subscribe to list"
msgstr "Abonniere %s"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr ""
"OStatus-Adresse der Gruppe. Beispiel: http://example.net/group/nickname."
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
#, fuzzy
msgid "You are already subscribed to this list."
msgstr "Du hast diesen Benutzer bereits abonniert:"
#. TRANS: Page title for OStatus remote list subscription form
#, fuzzy
msgid "Confirm subscription to remote list"
msgstr "Bestätige das Beitreten einer Remotegruppe"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"Du kannst Gruppen von anderen unterstützten Websites abonnieren. Füge die "
"URI der Gruppe unten ein:"
#. TRANS: Client error.
msgid "No such group."
msgstr "Keine derartige Gruppe."
#. TRANS: Client error.
msgid "Can't accept remote posts for a remote group."
#, fuzzy
msgid "Cannot accept remote posts for a remote group."
msgstr "Kann Remoteposts für Remotegruppen nicht akzeptieren."
#. TRANS: Client error.
msgid "Can't read profile to set up group membership."
#, fuzzy
msgid "Cannot read profile to set up group membership."
msgstr "Kann Profil nicht lesen, um die Gruppenmitgliedschaft einzurichten."
#. TRANS: Client error.
msgid "Groups can't join groups."
#. TRANS: Client error displayed when trying to have a group join another group.
#, fuzzy
msgid "Groups cannot join groups."
msgstr "Gruppen können Remotegruppen nicht beitreten."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Der Admin dieser Gruppe hat dich blockiert."
@@ -357,7 +616,10 @@ msgstr "Der Admin dieser Gruppe hat dich blockiert."
msgid "Could not join remote user %1$s to group %2$s."
msgstr "Konnte Remotebenutzer %1$s nicht der Gruppe %2$s hinzufügen."
msgid "Can't read profile to cancel group membership."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
#, fuzzy
msgid "Cannot read profile to cancel group membership."
msgstr "Kann Profil nicht lesen, um die Gruppenmitgliedschaft zu kündigen."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
@@ -365,50 +627,96 @@ msgstr "Kann Profil nicht lesen, um die Gruppenmitgliedschaft zu kündigen."
msgid "Could not remove remote user %1$s from group %2$s."
msgstr "Konnte Remotebenutzer %1$s nicht aus der Gruppe %2$s entfernen."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
#, fuzzy
msgid "No such list."
msgstr "Unbekannter Benutzer."
#. TRANS: Client error displayed when trying to send a message to a remote list.
#, fuzzy
msgid "Cannot accept remote posts for a remote list."
msgstr "Kann Remoteposts für Remotegruppen nicht akzeptieren."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr "Kann Profil nicht lesen, um die Gruppenmitgliedschaft einzurichten."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
#, fuzzy
msgid "Groups cannot subscribe to lists."
msgstr "Gruppen können Remotegruppen nicht beitreten."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "Konnte Remotebenutzer %1$s nicht der Gruppe %2$s hinzufügen."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr "Kann Profil nicht lesen, um die Gruppenmitgliedschaft zu kündigen."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "Konnte Remotebenutzer %1$s nicht der Gruppe %2$s hinzufügen."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "Du kannst ein lokales Abonnement erstellen!"
#. TRANS: Form legend.
#. TRANS: Form title.
#, fuzzy
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Abonniere diesen Benutzer"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Gruppe %s beitreten"
#. TRANS: Button text.
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Beitreten"
#. TRANS: Form legend.
#, php-format
msgid "Subscribe to %s"
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, fuzzy, php-format
msgid "Subscribe to list %1$s by %2$s"
msgstr "Abonniere %s"
#. TRANS: Button text.
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Abonnieren"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Abonniere %s"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Gruppe-Nickname"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "Spitzname der Gruppe, der Sie beitreten möchten."
#. TRANS: Field label.
msgid "User nickname"
msgstr "Benutzername"
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Name des Benutzers, dem du folgen möchtest"
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Profil-Konto"
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account id (e.g. user@identi.ca)."
#, fuzzy
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "Deine Konto-ID (z.B. user@identi.ca)."
#. TRANS: Client error.
@@ -416,35 +724,33 @@ msgid "Must provide a remote profile."
msgstr "Du musst ein Remoteprofil angeben."
#. TRANS: Client error.
msgid "Couldn't look up OStatus account profile."
msgstr "Konnte OStatus-Konto-Profil nicht nachschauen."
#. TRANS: Client error.
msgid "Couldn't confirm remote profile address."
msgstr "Konnte Remoteprofiladresse nicht bestätigen."
msgid "No local user or group nickname provided."
msgstr "Kein lokaler Benutzer- oder Gruppenname angegeben."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "OStatus-Verbindung"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr ""
"Es wird versucht, ein PuSH-Abonnemont für einen Feed ohne Hub zu starten."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr ""
"Es wird versucht, ein PuSH-Abonnemont für einen Feed ohne Hub zu beenden."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"Ungültiger ostatus_profile-Zustand: Sowohl Gruppen- als auch Profil-ID für %"
"s gesetzt."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr ""
"Ungültiger ostatus_profile-Zustand: Sowohl Gruppen- als auch Profil-ID für %"
"s sind leer."
@@ -471,10 +777,6 @@ msgstr "Unbekanntes Feed-Format."
msgid "RSS feed without a channel."
msgstr "RSS-Feed ohne einen Kanal."
#. TRANS: Client exception.
msgid "Can't handle that kind of post."
msgstr "Kann diese Art von Post nicht verarbeiten."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
@@ -496,7 +798,8 @@ msgid "Could not find a feed URL for profile page %s."
msgstr "Konnte keinen Feed-URL für die Profilseite %s finden."
#. TRANS: Feed sub exception.
msgid "Can't find enough profile information to make a feed."
#, fuzzy
msgid "Cannot find enough profile information to make a feed."
msgstr ""
"Kann nicht genug Profilinformationen finden, um einen Feed zu erstellen."
@@ -517,20 +820,43 @@ msgstr ""
msgid "Unable to fetch avatar from %s."
msgstr "Kann den Avatar von %s nicht abrufen."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "Keine Autoren-ID-URI gefunden."
#. TRANS: Exception.
msgid "Local user can't be referenced as remote."
#, fuzzy
msgid "No profile URI."
msgstr "Beitritt in Remote-Gruppe fehlgeschlagen!"
#. TRANS: Exception.
#, fuzzy
msgid "Local user cannot be referenced as remote."
msgstr "Lokaler Benutzer kann nicht als remote verwiesen werden."
#. TRANS: Exception.
msgid "Local group can't be referenced as remote."
#, fuzzy
msgid "Local group cannot be referenced as remote."
msgstr "Lokale Gruppe kann nicht als remote verwiesen werden."
#. TRANS: Exception.
#, fuzzy
msgid "Local list cannot be referenced as remote."
msgstr "Lokaler Benutzer kann nicht als remote verwiesen werden."
#. TRANS: Server exception.
msgid "Can't save local profile."
#, fuzzy
msgid "Cannot save local profile."
msgstr "Lokales Profil kann nicht gespeichert werden."
#. TRANS: Server exception.
msgid "Can't save OStatus profile."
#, fuzzy
msgid "Cannot save local list."
msgstr "Lokales Profil kann nicht gespeichert werden."
#. TRANS: Server exception.
#, fuzzy
msgid "Cannot save OStatus profile."
msgstr "OStatus-Profil kann nicht gespeichert werden."
#. TRANS: Exception.
@@ -538,18 +864,18 @@ msgid "Not a valid webfinger address."
msgstr "Ungültige Webfinger-Adresse."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save profile for \"%s\"."
#, fuzzy, php-format
msgid "Could not save profile for \"%s\"."
msgstr "Profil für „%s“ konnte nicht gespeichert werden."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save ostatus_profile for \"%s\"."
#, fuzzy, php-format
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Ostatus_profile für „%s“ konnte nicht gespeichert werden."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't find a valid profile for \"%s\"."
#, fuzzy, php-format
msgid "Could not find a valid profile for \"%s\"."
msgstr "Es konnte kein gültiges Profil für „%s“ gefunden werden."
#. TRANS: Server exception.
@@ -558,6 +884,17 @@ msgstr ""
"HTML-Inhalt eines langen Posts konnte nicht als Datei nicht gespeichert "
"werden."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "Unbekanntes URI-Protokoll für Profil: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Kein URI-Protokoll für Profil: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
@@ -574,13 +911,13 @@ msgstr "Konnte den öffentlichen Schlüssel des Unterzeichners nicht finden."
#. TRANS: Exception.
msgid "Salmon invalid actor for signing."
msgstr ""
msgstr "Lachs ist ungültiger Agent für das Signieren."
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
msgid "This method requires a POST."
msgstr "Diese Methode benötigt ein POST."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Salmon erfordert „application/magic-envelope+xml“."
@@ -597,37 +934,84 @@ msgid "Unrecognized activity type."
msgstr "Unbekannter Aktivitätstyp."
#. TRANS: Client exception.
msgid "This target doesn't understand posts."
#, fuzzy
msgid "This target does not understand posts."
msgstr "Dieses Ziel versteht keine Posts."
#. TRANS: Client exception.
msgid "This target doesn't understand follows."
#, fuzzy
msgid "This target does not understand follows."
msgstr "Dieses Ziel versteht keine Follows."
#. TRANS: Client exception.
msgid "This target doesn't understand unfollows."
#, fuzzy
msgid "This target does not understand unfollows."
msgstr "Dieses Ziel versteht keine Unfollows."
#. TRANS: Client exception.
msgid "This target doesn't understand favorites."
#, fuzzy
msgid "This target does not understand favorites."
msgstr "Dieses Ziel versteht keine Favoriten."
#. TRANS: Client exception.
msgid "This target doesn't understand unfavorites."
#, fuzzy
msgid "This target does not understand unfavorites."
msgstr "Dieses Ziel versteht keine Unfavorites."
#. TRANS: Client exception.
msgid "This target doesn't understand share events."
#, fuzzy
msgid "This target does not understand share events."
msgstr "Dieses Ziel versteht das Teilen von Events nicht."
#. TRANS: Client exception.
msgid "This target doesn't understand joins."
#, fuzzy
msgid "This target does not understand joins."
msgstr "Dieses Ziel versteht keine Joins."
#. TRANS: Client exception.
msgid "This target doesn't understand leave events."
#, fuzzy
msgid "This target does not understand leave events."
msgstr "Dieses Ziel versteht das Verlassen von Events nicht."
#. TRANS: Client exception.
#, fuzzy
msgid "This target does not understand tag events."
msgstr "Dieses Ziel versteht das Teilen von Events nicht."
#. TRANS: Client exception.
#, fuzzy
msgid "This target does not understand untag events."
msgstr "Dieses Ziel versteht das Teilen von Events nicht."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Einen Salmon-Slap von einem unidentifizierten Aktor empfangen."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Tag"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "Enttaggen"
#~ msgid "Disfavor"
#~ msgstr "Aus den Favoriten entfernen"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s markierte Nachricht %2$s nicht mehr als Favorit."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Adresse des OStatus-Benutzers, wie nickname@example.com oder http://"
#~ "example.net/nickname"
#, fuzzy
#~ msgid "Continue"
#~ msgstr "Weiter"
#, fuzzy
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr "Konnte Remotebenutzer %1$s nicht aus der Gruppe %2$s entfernen."

View File

@@ -1,6 +1,7 @@
# Translation of StatusNet - OStatus to French (Français)
# Exported from translatewiki.net
#
# Author: Brunoperel
# Author: IAlex
# Author: Peter17
# Author: Verdy p
@@ -11,13 +12,13 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:43+0000\n"
"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -26,24 +27,60 @@ msgstr ""
msgid "Feeds"
msgstr "Flux dinformations"
#. TRANS: Link description for link to subscribe to a remote user.
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "S'abonner"
#. TRANS: Link description for link to join a remote group.
msgid "Join"
msgstr "Rejoindre"
#. TRANS: Fieldset legend.
#, fuzzy
msgid "Tag remote profile"
msgstr "Vous devez fournir un profil distant."
#. TRANSLATE: %s is a domain.
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Profil distant"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"Adresse dun utilisateur OStatus, par exemple pseudonyme@example.com ou "
"http://example.net/pseudonyme"
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Lister"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "URI invalide."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Désolé, nous navons pas pu atteindre cette adresse. Veuillez vous assurer "
"que ladresse OStatus de lutilisateur ou de sa page de profil est de la "
"forme pseudonyme@example.com ou http://example.net/pseudonyme."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Envoyé depuis %s via OStatus"
#. TRANS: Exception.
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "Impossible de mettre en place labonnement distant."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Ne plus suivre"
@@ -53,19 +90,27 @@ msgstr "Ne plus suivre"
msgid "%1$s stopped following %2$s."
msgstr "%1$s a cessé de suivre %2$s."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "Impossible de mettre en place lappartenance au groupe distant."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "Rejoindre"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "%1$s a rejoint le groupe %2$s."
#. TRANS: Exception.
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "Échec lors de ladhésion au groupe distant."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "Sortir"
@@ -75,14 +120,76 @@ msgstr "Sortir"
msgid "%1$s has left group %2$s."
msgstr "%1$s a quitté le groupe %2$s."
msgid "Disfavor"
msgstr "Retirer des favoris"
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "Impossible de mettre en place labonnement distant."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Suivre la liste"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s a cessé de suivre %2$s par %3$s."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "Échec lors de ladhésion au groupe distant."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "Ne plus suivre la liste"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s a cessé de suivre %2$s par %3$s."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s a cessé de suivre %2$s."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Impossible de compléter l'adhésion à un flux de profil distant. La balise %s "
"n'a pas pu être sauvegardée."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Ne plus suivre la liste"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s a cessé de suivre %2$s."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, php-format
msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr "%1$s a retiré lavis %2$s de ses favoris."
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s a cessé de suivre %2$s."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
@@ -98,6 +205,10 @@ msgstr "Mise à jour du profil"
msgid "%s has updated their profile page."
msgstr "%s a mis à jour sa page de profil."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr ""
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
@@ -124,36 +235,41 @@ msgstr ""
"Le sujet de concentrateur « %s » nest pas supporté. Ce concentrateur ne sert "
"que les flux Atom dutilisateurs et groupes locaux."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr ""
"La vérification de concentrateur « %s » est invalide. Ce doit être « sync » ou "
"« async »."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr ""
"Le bail de concentrateur « %s » est invalide. Ce doit être vide ou un entier "
"positif."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr ""
"Le secret de concentrateur « %s » est invalide. Il doit faire moins de 200 "
"octets."
#. TRANS: Client exception.
#, php-format
msgid "Invalid hub.topic \"%s\". User doesn't exist."
#. TRANS: Client exception. %s is a feed URL.
#, fuzzy, php-format
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr ""
"Le sujet de concentrateur « %s » est invalide. Lutilisateur nexiste pas."
#. TRANS: Client exception.
#, php-format
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
#. TRANS: Client exception. %s is a feed URL.
#, fuzzy, php-format
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "Le sujet de concentrateur « %s » est invalide. Le groupe nexiste pas."
#. TRANS: Client exception. %s is a feed URL.
#, fuzzy, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Le sujet de concentrateur « %s » est invalide. Le groupe nexiste pas."
#. TRANS: Client exception.
@@ -162,6 +278,54 @@ msgstr "Le sujet de concentrateur « %s » est invalide. Le groupe nexiste pa
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "URL invalide passée à la méthode « %1$s » : « %2$s »"
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
#, fuzzy
msgid "You can use the local tagging!"
msgstr "Vous pouvez utiliser labonnement local !"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr ""
#. TRANS: Button text to tag a remote object.
msgctxt "BUTTON"
msgid "Go"
msgstr ""
#. TRANS: Field label.
msgid "User nickname"
msgstr "Pseudonyme de lutilisateur"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Pseudonyme de lutilisateur que vous voulez marquer."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Compte de profil"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "Votre identifiant de compte (utilisateur@identi.ca, par exemple)."
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "Impossible de consulter le profil de compte OStatus."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "mpossible de confirmer ladresse de profil distant."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "Liste OStatus"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "Identifiant de flux vide ou invalide."
@@ -192,6 +356,8 @@ msgstr "Demande dabonnement inattendue pour le sujet invalide « %s »."
msgid "Unexpected unsubscribe request for %s."
msgstr "Demande de désabonnement inattendue pour le sujet invalide « %s »."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Utilisateur inexistant."
@@ -199,20 +365,16 @@ msgstr "Utilisateur inexistant."
msgid "Subscribe to"
msgstr "Sabonner à"
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
"Adresse dun utilisateur OStatus ou de sa page de profil, telle que "
"pseudonyme@example.com ou http://example.net/pseudonyme"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Continuer"
#. TRANS: Button text.
msgid "Join"
msgstr "Rejoindre"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
@@ -230,15 +392,6 @@ msgstr "Sabonner à cet utilisateur"
msgid "You are already subscribed to this user."
msgstr "Vous êtes déjà abonné à cet utilisateur."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Désolé, nous navons pas pu atteindre cette adresse. Veuillez vous assurer "
"que ladresse OStatus de lutilisateur ou de sa page de profil est de la "
"forme pseudonyme@example.com ou http://example.net/pseudonyme."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
@@ -248,6 +401,7 @@ msgstr ""
"cette adresse OStatus."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "Déjà abonné !"
@@ -255,6 +409,7 @@ msgstr "Déjà abonné !"
msgid "Remote subscription failed!"
msgstr "Ĺabonnement distant a échoué !"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr ""
"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
@@ -264,7 +419,7 @@ msgstr ""
msgid "Subscribe to user"
msgstr "Sabonner à un utilisateur"
#. TRANS: Page title for OStatus remote subscription form
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Confirmer"
@@ -286,6 +441,7 @@ msgstr ""
"Une adresse de groupe OStatus telle que « http://example.net/group/pseudonyme "
"»."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "Vous êtes déjà membre de ce groupe."
@@ -301,7 +457,7 @@ msgstr "Ladhésion au groupe distant a échoué !"
msgid "Confirm joining remote group"
msgstr "Confirmer ladhésion au groupe distant"
#. TRANS: Instructions.
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
@@ -309,10 +465,17 @@ msgstr ""
"Vous pouvez souscrire aux groupes dautres sites supportés. Collez ladresse "
"URI du profil du groupe ci-dessous :"
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Aucun identifiant."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "Impossible de gérer ce type de publication."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "En réponse à lavis inconnu."
@@ -323,16 +486,61 @@ msgstr ""
"En réponse à un avis non émis par cet utilisateur et ne mentionnant pas cet "
"utilisateur."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "Ceci est déjà un favori."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Impossible de sauvegarder le nouveau favori."
#. TRANS: Client exception.
msgid "Can't favorite/unfavorite without an object."
msgid "Notice was not favorited!"
msgstr ""
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr "Impossible de mettre en favoris ou retirer des favoris sans un objet."
#. TRANS: Client exception.
msgid "Can't handle that kind of object for liking/faving."
#, fuzzy
msgid "Cannot handle that kind of object for liking/faving."
msgstr ""
"Impossible de gérer ce genre dobjet parmi les sujets appréciés ou favoris."
@@ -346,24 +554,53 @@ msgstr "Avis didentifiant « %s » inconnu."
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "Avis didentifiant « %1$s » non publié par %2$s."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "S'abonner à la liste"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr ""
"Une adresse de groupe OStatus, par exemple http://example.net/user/all/tag"
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "Vous êtes déjà abonné à ce groupe."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "Confirmer ladhésion au groupe distant"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"Vous pouvez souscrire aux groupes dautres sites supportés. Collez ladresse "
"URI du profil du groupe ci-dessous :"
#. TRANS: Client error.
msgid "No such group."
msgstr "Groupe inexistant."
#. TRANS: Client error.
msgid "Can't accept remote posts for a remote group."
msgid "Cannot accept remote posts for a remote group."
msgstr ""
"Impossible daccepter des envois distants de messages pour un groupe distant."
#. TRANS: Client error.
msgid "Can't read profile to set up group membership."
msgid "Cannot read profile to set up group membership."
msgstr ""
"Impossible de lire le profil pour mettre en place ladhésion à un groupe."
#. TRANS: Client error.
msgid "Groups can't join groups."
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "Les groupes ne peuvent pas adhérer à des groupes."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Vous avez été bloqué de ce groupe par ladministrateur."
@@ -372,7 +609,9 @@ msgstr "Vous avez été bloqué de ce groupe par ladministrateur."
msgid "Could not join remote user %1$s to group %2$s."
msgstr "Impossible dinscrire lutilisateur distant %1$s au groupe %2$s."
msgid "Can't read profile to cancel group membership."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr "Impossible de lire le profil pour annuler ladhésion à un groupe."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
@@ -380,50 +619,93 @@ msgstr "Impossible de lire le profil pour annuler ladhésion à un groupe."
msgid "Could not remove remote user %1$s from group %2$s."
msgstr "Impossible de retirer lutilisateur distant %1$s du groupe %2$s."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "Liste inexistante."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr ""
"Impossible daccepter des envois distants de messages pour une liste distant."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr ""
"Impossible de lire le profil pour mettre en place ladhésion à un groupe."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "Les groupes ne peuvent pas adhérer à des listes."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "Impossible dinscrire lutilisateur distant %1$s à la liste %2$s."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr "Impossible de lire le profil pour annuler ladhésion à une liste."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "Impossible dinscrire lutilisateur distant %1$s à la liste %2$s."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "Vous pouvez utiliser labonnement local !"
#. TRANS: Form legend.
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Sabonner à un utilisateur"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Rejoindre le groupe « %s »"
#. TRANS: Button text.
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Rejoindre"
#. TRANS: Form legend.
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to %s"
msgstr "Sabonner à « %s »"
msgid "Subscribe to list %1$s by %2$s"
msgstr "Sabonner à la liste %1$s par %2$s"
#. TRANS: Button text.
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Sabonner"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Sabonner à « %s »"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Pseudonyme du groupe"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "Pseudonyme du groupe que vous voulez rejoindre."
#. TRANS: Field label.
msgid "User nickname"
msgstr "Pseudonyme de lutilisateur"
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Pseudonyme de lutilisateur que vous voulez suivre."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Compte de profil"
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account id (e.g. user@identi.ca)."
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "Votre identifiant de compte (utilisateur@identi.ca, par exemple)."
#. TRANS: Client error.
@@ -431,40 +713,36 @@ msgid "Must provide a remote profile."
msgstr "Vous devez fournir un profil distant."
#. TRANS: Client error.
msgid "Couldn't look up OStatus account profile."
msgstr "Impossible de consulter le profil de compte OStatus."
#. TRANS: Client error.
msgid "Couldn't confirm remote profile address."
msgstr "Impossible de confirmer ladresse de profil distant."
msgid "No local user or group nickname provided."
msgstr "Aucun utilisateur local ou pseudonyme de groupe fourni."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "Connexion OStatus"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr ""
"Tente de démarrer linscription PuSH à un flux dinformation sans "
"concentrateur."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr ""
"Tente darrêter linscription PuSH à un flux dinformation sans "
"concentrateur."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"État invalide du profil OStatus : identifiants à la fois de groupe et de "
"profil définis pour « %s »."
"État invalide du profil OStatus : deux identifiants ou + ont été définis "
"pour %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
msgstr ""
"État invalide du profil OStatus : identifiants à la fois de groupe et de "
"profil non renseignés pour « %s »."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr "État invalide du profil OStatus : aucun identifiant renseigné pour %s."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
@@ -488,10 +766,6 @@ msgstr "Format de flux dinformation inconnu."
msgid "RSS feed without a channel."
msgstr "Flux RSS sans canal."
#. TRANS: Client exception.
msgid "Can't handle that kind of post."
msgstr "Impossible de gérer cette sorte de publication."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
@@ -515,7 +789,7 @@ msgstr ""
"profil « %s »."
#. TRANS: Feed sub exception.
msgid "Can't find enough profile information to make a feed."
msgid "Cannot find enough profile information to make a feed."
msgstr ""
"Impossible de trouver assez dinformations de profil pour créer un flux "
"dinformation."
@@ -537,20 +811,36 @@ msgstr ""
msgid "Unable to fetch avatar from %s."
msgstr "Impossible de récupérer lavatar depuis « %s »."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr ""
#. TRANS: Exception.
msgid "Local user can't be referenced as remote."
msgid "No profile URI."
msgstr "Aucune URI de profil."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr "Lutilisateur local ne peut être référencé comme distant."
#. TRANS: Exception.
msgid "Local group can't be referenced as remote."
msgid "Local group cannot be referenced as remote."
msgstr "Le groupe local ne peut être référencé comme distant."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr "La liste locale ne peut être référencée comme distante."
#. TRANS: Server exception.
msgid "Can't save local profile."
msgid "Cannot save local profile."
msgstr "Impossible de sauvegarder le profil local."
#. TRANS: Server exception.
msgid "Can't save OStatus profile."
msgid "Cannot save local list."
msgstr "Impossible de sauvegarder la liste locale."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "Impossible de sauvegarder le profil OStatus."
#. TRANS: Exception.
@@ -559,24 +849,35 @@ msgstr "Ce nest pas une adresse « webfinger » valide."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save profile for \"%s\"."
msgstr "Impossible de sauvegarder le profil pour « %s »."
msgid "Could not save profile for \"%s\"."
msgstr "Impossible de sauvegarder le profil pour \"%s\"."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save ostatus_profile for \"%s\"."
msgstr "Impossible denregistrer le profil OStatus pour « %s »."
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Impossible denregistrer le profil OStatus pour \"%s\"."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't find a valid profile for \"%s\"."
msgstr "Impossible de trouver un profil valide pour « %s »."
msgid "Could not find a valid profile for \"%s\"."
msgstr "Impossible de trouver un profil valide pour \"%s\"."
#. TRANS: Server exception.
msgid "Could not store HTML content of long post as file."
msgstr ""
"Impossible de stocker le contenu HTML dune longue publication en un fichier."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "Protocole d'URI non reconnu pour le profil: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Pas de protocole URI pour le profil: %s ."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
@@ -601,7 +902,7 @@ msgstr "Acteur Salmon invalide pour la signature."
msgid "This method requires a POST."
msgstr "Cette méthode nécessite une commande HTTP « POST »."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Salmon exige le type « application/magic-envelope+xml »."
@@ -618,37 +919,71 @@ msgid "Unrecognized activity type."
msgstr "Type dactivité non reconnu."
#. TRANS: Client exception.
msgid "This target doesn't understand posts."
msgid "This target does not understand posts."
msgstr "Cette cible ne reconnaît pas les publications."
#. TRANS: Client exception.
msgid "This target doesn't understand follows."
#, fuzzy
msgid "This target does not understand follows."
msgstr "Cette cible ne reconnaît pas les indications de début de suivi."
#. TRANS: Client exception.
msgid "This target doesn't understand unfollows."
msgid "This target does not understand unfollows."
msgstr "Cette cible ne reconnaît pas les indications de fin de suivi."
#. TRANS: Client exception.
msgid "This target doesn't understand favorites."
msgstr "Cette cible ne reconnaît pas les indications de mise en favoris."
msgid "This target does not understand favorites."
msgstr "Cette cible ne reconnaît pas les indications de mise en favori."
#. TRANS: Client exception.
msgid "This target doesn't understand unfavorites."
msgid "This target does not understand unfavorites."
msgstr "Cette cible ne reconnaît pas les indications de retrait des favoris."
#. TRANS: Client exception.
msgid "This target doesn't understand share events."
msgid "This target does not understand share events."
msgstr "Cette cible ne reconnaît pas les évènements partagés."
#. TRANS: Client exception.
msgid "This target doesn't understand joins."
msgid "This target does not understand joins."
msgstr "Cette cible ne reconnaît pas les indications dadhésion."
#. TRANS: Client exception.
msgid "This target doesn't understand leave events."
msgstr "Cette cible ne reconnaît pas les indications de retrait dévènements."
msgid "This target does not understand leave events."
msgstr "Cette cible ne reconnaît pas les indications de retrait dévénement."
#. TRANS: Client exception.
#, fuzzy
msgid "This target does not understand tag events."
msgstr "Cette cible ne reconnaît pas les évènements partagés."
#. TRANS: Client exception.
#, fuzzy
msgid "This target does not understand untag events."
msgstr "Cette cible ne reconnaît pas les évènements partagés."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Réception dune giffle Salmon dun acteur non identifié."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Marquer"
#~ msgid "Disfavor"
#~ msgstr "Retirer des favoris"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s a retiré lavis %2$s de ses favoris."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Adresse dun utilisateur OStatus ou de sa page de profil, telle que "
#~ "pseudonyme@example.com ou http://example.net/pseudonyme"
#~ msgid "Continue"
#~ msgstr "Continuer"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr "Impossible de retirer lutilisateur distant %1$s de la liste %2$s."

View File

@@ -9,13 +9,13 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:43+0000\n"
"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -24,24 +24,59 @@ msgstr ""
msgid "Feeds"
msgstr "Syndicationes"
#. TRANS: Link description for link to subscribe to a remote user.
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "Subscriber"
#. TRANS: Link description for link to join a remote group.
msgid "Join"
msgstr "Inscriber"
#. TRANS: Fieldset legend.
msgid "Tag remote profile"
msgstr "Etiquettar profilo remote"
#. TRANSLATE: %s is a domain.
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Profilo remote"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"Le adresse de un usator OStatus, como pseudonymo@example.com o http://"
"example.net/pseudonymo."
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Obtener"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "URI invalide."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Regrettabilemente, nos non poteva attinger iste adresse. Per favor assecura "
"te que le adresse OStatus es como pseudonymo@example.com o http://example."
"net/pseudonymo."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Inviate de %s via OStatus"
#. TRANS: Exception.
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "Non poteva configurar le subscription remote."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Non plus sequer"
@@ -51,19 +86,27 @@ msgstr "Non plus sequer"
msgid "%1$s stopped following %2$s."
msgstr "%1$s cessava de sequer %2$s."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "Non poteva configurar le membrato del gruppo remote."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "Adherer"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "%1$s se ha jungite al gruppo %2$s."
#. TRANS: Exception.
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "Falleva de facer se membro del gruppo remote."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "Quitar"
@@ -73,14 +116,76 @@ msgstr "Quitar"
msgid "%1$s has left group %2$s."
msgstr "%1$s ha quitate le gruppo %2$s."
msgid "Disfavor"
msgstr "Disfavorir"
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "Non poteva configurar le subscription al lista remote."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Sequer lista"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s cessava de sequer le lista \"%2$s\" de %3$s."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "Falleva de subscriber al lista remote."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "Non plus sequer lista"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s cessava de sequer le lista \"%2$s\" de %3$s."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s listava %2$s in le lista \"%3$s\"."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Non poteva completar le subscription al syndication del profilo remote. Le "
"etiquetta %s non poteva esser salveguardate."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Non plus sequer lista"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s listava %2$s in le lista \"%3$s\"."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, php-format
msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr "%1$s marcava le nota %2$s como non plus favorite."
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s cessava de sequer %2$s."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
@@ -96,6 +201,10 @@ msgstr "Actualisation de profilo"
msgid "%s has updated their profile page."
msgstr "%s ha actualisate su pagina de profilo."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "Etiquettar"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
@@ -122,38 +231,91 @@ msgstr ""
"Le topico de centro %s non es supportate. Iste centro servi solmente le "
"syndicationes Atom de usatores e gruppos local."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr "Invalide hub.verify \"%s\". Debe esser sync o async."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr ""
"Invalide hub.lease \"%s\". Debe esser vacue o un numero integre positive."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr "Invalide hub.secret \"%s\". Debe pesar minus de 200 bytes."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". User doesn't exist."
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr "Invalide hub.topic \"%s\". Usator non existe."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "Invalide hub.topic \"%s\". Gruppo non existe."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Invalide hub.topic \"%s\". Lista non existe."
#. TRANS: Client exception.
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
#, php-format
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "Invalide URL passate pro %1$s: \"%2$s\""
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
msgid "You can use the local tagging!"
msgstr "Tu pote usar le etiquettas local!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "Etiquetta %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "Ir"
#. TRANS: Field label.
msgid "User nickname"
msgstr "Pseudonymo del usator"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Le pseudonymo del usator que tu vole etiquettar."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Conto de profilo"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "Le ID de tu conto (p.ex. usator@identi.ca)."
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "Non poteva cercar le profilo del conto OStatus."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "Non poteva confirmar le adresse del profilo remote."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "Lista de OStatus"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "ID de syndication vacue o invalide."
@@ -182,6 +344,8 @@ msgstr "Requesta de subscription inexpectate pro %s."
msgid "Unexpected unsubscribe request for %s."
msgstr "Requesta de cancellation de subscription inexpectate pro %s."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Iste usator non existe."
@@ -189,20 +353,16 @@ msgstr "Iste usator non existe."
msgid "Subscribe to"
msgstr "Subscriber a"
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
"Le adresse de un usator OStatus, como pseudonymo@example.com o http://"
"example.net/pseudonymo"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Continuar"
#. TRANS: Button text.
msgid "Join"
msgstr "Adherer"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
@@ -220,15 +380,6 @@ msgstr "Subscriber a iste usator"
msgid "You are already subscribed to this user."
msgstr "Tu es ja subscribite a iste usator."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Regrettabilemente, nos non poteva attinger iste adresse. Per favor assecura "
"te que le adresse OStatus es como pseudonymo@example.com o http://example."
"net/pseudonymo."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
@@ -238,6 +389,7 @@ msgstr ""
"reproba iste adresse OStatus plus tarde."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "Ja subscribite!"
@@ -245,6 +397,7 @@ msgstr "Ja subscribite!"
msgid "Remote subscription failed!"
msgstr "Subscription remote fallite!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
@@ -252,7 +405,7 @@ msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
msgid "Subscribe to user"
msgstr "Subscriber a usator"
#. TRANS: Page title for OStatus remote subscription form
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Confirmar"
@@ -273,6 +426,7 @@ msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr ""
"Un adresse de gruppo OStatus, como http://example.net/group/pseudonymo."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "Tu es ja membro de iste gruppo."
@@ -288,7 +442,7 @@ msgstr "Le adhesion al gruppo remote ha fallite!"
msgid "Confirm joining remote group"
msgstr "Confirmar adhesion a gruppo remote"
#. TRANS: Instructions.
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
@@ -296,10 +450,17 @@ msgstr ""
"Tu pote subscriber a gruppos de altere sitos supportate. Colla le URI del "
"profilo del gruppo hic infra:"
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Nulle ID."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "Non pote tractar iste typo de message."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "In responsa a un nota incognite."
@@ -310,16 +471,60 @@ msgstr ""
"In responsa a un nota non scribite per iste usator e que non mentiona iste "
"usator."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "Isto es ja favorite."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Non poteva salveguardar le nove favorite."
#. TRANS: Client exception.
msgid "Can't favorite/unfavorite without an object."
msgid "Notice was not favorited!"
msgstr "Le nota non ha essite addite al favorites!"
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr "Non pote favorir/disfavorir sin objecto."
#. TRANS: Client exception.
msgid "Can't handle that kind of object for liking/faving."
msgid "Cannot handle that kind of object for liking/faving."
msgstr "Non pote manear iste typo de objecto pro appreciar/favorir."
#. TRANS: Client exception. %s is an object ID.
@@ -332,22 +537,51 @@ msgstr "Nota con ID %s incognite."
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "Nota con ID %1$s non publicate per %2$s."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "Subscriber al lista"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr ""
"Adresse del lista de OStatus, como http://example.net/usator/all/etiquetta"
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "Tu es ja subscribite a iste lista."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "Confirmar subscription al lista remote"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"Tu pote subscriber a listas de altere sitos supportate. Colla le URI del "
"listas hic infra:"
#. TRANS: Client error.
msgid "No such group."
msgstr "Gruppo non existe."
#. TRANS: Client error.
msgid "Can't accept remote posts for a remote group."
msgid "Cannot accept remote posts for a remote group."
msgstr "Non pote acceptar messages remote pro un gruppo remote."
#. TRANS: Client error.
msgid "Can't read profile to set up group membership."
msgstr "Non pote leger profilo pro establir membrato de gruppo."
msgid "Cannot read profile to set up group membership."
msgstr "Non pote leger profilo pro effectuar adhesion al gruppo."
#. TRANS: Client error.
msgid "Groups can't join groups."
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "Gruppos non pote adherer a gruppos."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Le administrator te ha blocate de iste gruppo."
@@ -356,58 +590,102 @@ msgstr "Le administrator te ha blocate de iste gruppo."
msgid "Could not join remote user %1$s to group %2$s."
msgstr "Non poteva inscriber le usator remote %1$s in le gruppo %2$s."
msgid "Can't read profile to cancel group membership."
msgstr "Non pote leger profilo pro cancellar membrato de gruppo."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr "Non pote leger profilo pro cancellar membrato del gruppo."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
#, php-format
msgid "Could not remove remote user %1$s from group %2$s."
msgstr "Non poteva remover le usator remote %1$s del gruppo %2$s."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "Lista non existe."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr "Non pote acceptar messages remote pro un lista remote."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr ""
"Non pote leger profilo pro establir subscription al etiquetta de profilo."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "Gruppos non pote subscriber a listas."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "Non poteva subscriber le usator remote %1$s al lista %2$s."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr "Non pote leger profilo pro cancellar membrato del lista."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "Non poteva subscriber le usator remote %1$s al lista %2$s."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "Tu pote usar le subscription local!"
#. TRANS: Form legend.
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Subscriber a usator"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Adherer al gruppo %s"
#. TRANS: Button text.
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Inscriber"
msgstr "Adherer"
#. TRANS: Form legend.
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to %s"
msgstr "Subscriber a %s"
msgid "Subscribe to list %1$s by %2$s"
msgstr "Subscriber al lista \"%1$s\" de %2$s"
#. TRANS: Button text.
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Subscriber"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Subscriber a %s"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Pseudonymo del gruppo"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "Le pseudonymo del gruppo a que tu vole adherer."
#. TRANS: Field label.
msgid "User nickname"
msgstr "Pseudonymo del usator"
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Le pseudonymo del usator que tu vole sequer."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Conto de profilo"
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account id (e.g. user@identi.ca)."
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "Le ID de tu conto (p.ex. usator@identi.ca)."
#. TRANS: Client error.
@@ -415,34 +693,30 @@ msgid "Must provide a remote profile."
msgstr "Debe fornir un profilo remote."
#. TRANS: Client error.
msgid "Couldn't look up OStatus account profile."
msgstr "Non poteva cercar le profilo del conto OStatus."
#. TRANS: Client error.
msgid "Couldn't confirm remote profile address."
msgstr "Non poteva confirmar le adresse del profilo remote."
msgid "No local user or group nickname provided."
msgstr "Nulle pseudonymo local de usator o de gruppo fornite."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "Connexion OStatus"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr "Tentativa de comenciar subscription PuSH pro syndication sin centro."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr "Tentativa de terminar subscription PuSH pro syndication sin centro."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
msgstr ""
"Stato ostatus_profile invalide: IDs e de gruppo e de profilo definite pro %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr "Stato ostatus_profile invalide: duo o plus IDs definite pro %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
msgstr ""
"Stato ostatus_profile invalide: IDs e de gruppo e de profilo vacue pro %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr "Stato ostatus_profile invalide: tote le IDs es vacue pro %s."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
@@ -466,10 +740,6 @@ msgstr "Formato de syndication incognite."
msgid "RSS feed without a channel."
msgstr "Syndication RSS sin canal."
#. TRANS: Client exception.
msgid "Can't handle that kind of post."
msgstr "Non pote tractar iste typo de message."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
@@ -491,7 +761,7 @@ msgid "Could not find a feed URL for profile page %s."
msgstr "Non poteva trovar un URL de syndication pro pagina de profilo %s."
#. TRANS: Feed sub exception.
msgid "Can't find enough profile information to make a feed."
msgid "Cannot find enough profile information to make a feed."
msgstr ""
"Non pote trovar satis de information de profilo pro facer un syndication."
@@ -510,20 +780,36 @@ msgstr "Tentava actualisar avatar pro profilo remote non salveguardate %s."
msgid "Unable to fetch avatar from %s."
msgstr "Incapace de obtener avatar ab %s."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "Nulle URI de ID de autor trovate."
#. TRANS: Exception.
msgid "Local user can't be referenced as remote."
msgid "No profile URI."
msgstr "Nulle URI de profilo."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr "Usator local non pote esser referentiate como remote."
#. TRANS: Exception.
msgid "Local group can't be referenced as remote."
msgid "Local group cannot be referenced as remote."
msgstr "Gruppo local non pote esser referentiate como remote."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr "Lista local non pote esser referentiate como remote."
#. TRANS: Server exception.
msgid "Can't save local profile."
msgid "Cannot save local profile."
msgstr "Non pote salveguardar profilo local."
#. TRANS: Server exception.
msgid "Can't save OStatus profile."
msgid "Cannot save local list."
msgstr "Non pote salveguardar lista local."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "Non pote salveguardar profilo OStatus."
#. TRANS: Exception.
@@ -532,23 +818,35 @@ msgstr "Adresse webfinger invalide."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save profile for \"%s\"."
msgid "Could not save profile for \"%s\"."
msgstr "Non poteva salveguardar profilo pro \"%s\"."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save ostatus_profile for \"%s\"."
msgstr "Non poteva salveguardar osatus_profile pro %s."
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Non poteva salveguardar le profilo de OStatus pro \"%s\"."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't find a valid profile for \"%s\"."
msgid "Could not find a valid profile for \"%s\"."
msgstr "Non poteva trovar un profilo valide pro \"%s\"."
#. TRANS: Server exception.
msgid "Could not store HTML content of long post as file."
msgstr "Non poteva immagazinar contento HTML de longe message como file."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr ""
"Le URI pro le profilo specifica un protocollo non recognoscite: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Le URI pro le profilo non specifica un protocollo: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
@@ -571,7 +869,7 @@ msgstr "Salmon: actor invalide pro signar."
msgid "This method requires a POST."
msgstr "Iste methodo require un POST."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Salmon require \"application/magic-envelope+xml\"."
@@ -588,37 +886,72 @@ msgid "Unrecognized activity type."
msgstr "Typo de activitate non recognoscite."
#. TRANS: Client exception.
msgid "This target doesn't understand posts."
msgid "This target does not understand posts."
msgstr "Iste destination non comprende messages."
#. TRANS: Client exception.
msgid "This target doesn't understand follows."
msgid "This target does not understand follows."
msgstr "Iste destination non comprende sequimentos."
#. TRANS: Client exception.
msgid "This target doesn't understand unfollows."
msgid "This target does not understand unfollows."
msgstr "Iste destination non comprende cessationes de sequimento."
#. TRANS: Client exception.
msgid "This target doesn't understand favorites."
msgstr "Iste destination non comprende le addition de favorites."
msgid "This target does not understand favorites."
msgstr "Iste destination non comprende favorites."
#. TRANS: Client exception.
msgid "This target doesn't understand unfavorites."
msgid "This target does not understand unfavorites."
msgstr "Iste destination non comprende le remotion de favorites."
#. TRANS: Client exception.
msgid "This target doesn't understand share events."
msgstr "Iste destination non comprende eventos commun."
msgid "This target does not understand share events."
msgstr "Iste destination non comprende le eventos de divulgation (share)."
#. TRANS: Client exception.
msgid "This target doesn't understand joins."
msgstr "Iste destination non comprende indicationes de adhesion."
msgid "This target does not understand joins."
msgstr "Iste destination non comprende adhesiones."
#. TRANS: Client exception.
msgid "This target doesn't understand leave events."
msgstr "Iste destination non comprende eventos de partita."
msgid "This target does not understand leave events."
msgstr "Iste destination non comprende eventos de quitar."
#. TRANS: Client exception.
msgid "This target does not understand tag events."
msgstr "Iste destination non comprende eventos de etiquettage."
#. TRANS: Client exception.
msgid "This target does not understand untag events."
msgstr "Iste destination non comprende eventos de disetiquettage."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Recipeva un claffo de salmon de un actor non identificate."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Etiquetta"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "Disetiquettar"
#~ msgid "Disfavor"
#~ msgstr "Disfavorir"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s marcava le nota %2$s como non plus favorite."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Le adresse de un usator OStatus, como pseudonymo@example.com o http://"
#~ "example.net/pseudonymo"
#~ msgid "Continue"
#~ msgstr "Continuar"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr "Non poteva remover le usator remote %1$s del lista %2$s."

View File

@@ -0,0 +1,948 @@
# Translation of StatusNet - OStatus to Korean (한국어)
# Exported from translatewiki.net
#
# Author: Changwoo
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:44+0000\n"
"Language-Team: Korean <http://translatewiki.net/wiki/Portal:ko>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "Feeds"
msgstr "피드"
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "구독"
#. TRANS: Fieldset legend.
msgid "Tag remote profile"
msgstr "원격 프로필 태그"
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "원격 프로필"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"OStatus 사용자의 주소. nickname@example.com 또는 http://example.net/nickname "
"형식."
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "가져오기"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "잘못된 URI입니다."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"해당 주소에 연결할 수 없습니다. OStatus 주소가 nickname@example.com 또는 "
"http://example.net/nickname 형식인지 확인하십시오."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "OStatus를 통해 %s에서 보냄"
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "원격 구독을 준비할 수 없습니다."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "팔로우 취소"
#. TRANS: Success message for unsubscribe from user attempt through OStatus.
#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
#, php-format
msgid "%1$s stopped following %2$s."
msgstr "%1$s님이 %2$s 팔로우를 중단했습니다."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "원격 그룹 가입을 준비할 수 없습니다."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "가입"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "%1$s님이 %2$s 그룹에 가입했습니다."
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "원격 그룹 가입에 실패했습니다."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "떠나기"
#. TRANS: Success message for unsubscribe from group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name.
#, php-format
msgid "%1$s has left group %2$s."
msgstr "%1$s님이 %2$s 그룹을 떠났습니다."
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "원격 리스트 구독을 준비할 수 없습니다."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "리스트 팔로우"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s님이 %3$s의 %2$s 리스트 팔로우를 중단했습니다."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "원격 리스트 구독에 실패했습니다."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "리스트 팔로우 취소"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s님이 %3$s의 %2$s 리스트 팔로우를 중단했습니다."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s님이 %2$s 사용자를 %3$s 리스트에 넣었습니다."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"원격 프로필의 피드 구독을 마칠 수 없습니다. %s 태그를 저장할 수 없습니다."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "리스트 팔로우 취소"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s님이 %2$s 사용자를 %3$s 리스트에 넣었습니다."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s님이 %2$s 팔로우를 중단했습니다."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
msgstr "원격"
#. TRANS: Title for activity.
msgid "Profile update"
msgstr "프로필 업데이트"
#. TRANS: Ping text for remote profile update through OStatus.
#. TRANS: %s is user that updated their profile.
#, php-format
msgid "%s has updated their profile page."
msgstr "%s님이 프로필 페이지를 업데이트했습니다."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "태그"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
"org/\">OStatus</a>."
msgstr ""
"<a href=\"http://ostatus.org/\">OStatus</a>를 사용하는 소셜 네트워크를 통해 "
"사람들을 팔로우합니다."
#. TRANS: Client exception.
msgid "Publishing outside feeds not supported."
msgstr "피드 밖에 게시는 지원하지 않습니다."
#. TRANS: Client exception. %s is a mode.
#, php-format
msgid "Unrecognized mode \"%s\"."
msgstr "알 수 없는 모드, \"%s\"."
#. TRANS: Client exception. %s is a topic.
#, php-format
msgid ""
"Unsupported hub.topic %s this hub only serves local user and group Atom "
"feeds."
msgstr ""
"지원하지 않는 hub.topic %s, 이 허브는 로컬 사용자와 그룹 Atom 피드만 사용할 "
"수 있습니다."
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr "잘못된 hub.verify \"%s\". \"sync\" 또는 \"async\"여야 합니다."
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr "잘못된 hub.lease \"%s\". 비어 있거나 0보다 큰 숫자여야 합니다."
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr "잘못된 hub.secret \"%s\". 200자 이내여야 합니다."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr "잘못된 hub.topic \"%s\". 사용자가 없습니다."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "잘못된 hub.topic \"%s\". 그룹이 없습니다."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "잘못된 hub.topic \"%s\". 리스트가 없습니다."
#. TRANS: Client exception.
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
#, php-format
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "잘못된 URL을 %1$s에 넘겼습니다: \"%2$s\""
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
msgid "You can use the local tagging!"
msgstr "로컬 태깅을 사용할 수 있습니다!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "태그 %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "이동"
#. TRANS: Field label.
msgid "User nickname"
msgstr "사용자 이름"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "태그를 추가하려는 사용자의 이름"
#. TRANS: Field label.
msgid "Profile Account"
msgstr "프로필 계정"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "내 계정 아이디 (예: user@identi.ca)"
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "OStatus 계정 프로필을 찾을 수 없습니다."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "원격 프로필 주소를 확인할 수 없습니다."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "OStatus 리스트"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "피드 아이디가 없거나 잘못되었습니다."
#. TRANS: Server exception. %s is a feed ID.
#, php-format
msgid "Unknown PuSH feed id %s"
msgstr "PuSH 피드 아이디 \"%s\"을(를) 알 수 없습니다."
#. TRANS: Client exception. %s is an invalid feed name.
#, php-format
msgid "Bad hub.topic feed \"%s\"."
msgstr "잘못된 hub.topic 피드 \"%s\"."
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
#, php-format
msgid "Bad hub.verify_token %1$s for %2$s."
msgstr "%2$s에 대한 잘못된 hub.verify_token %1$s."
#. TRANS: Client exception. %s is an invalid topic.
#, php-format
msgid "Unexpected subscribe request for %s."
msgstr "%s에 대해 예상치 못한 구독 요청."
#. TRANS: Client exception. %s is an invalid topic.
#, php-format
msgid "Unexpected unsubscribe request for %s."
msgstr "%s에 대해 예상치 못한 구독 해제 요청."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "그런 사용자가 없습니다."
#. TRANS: Field label for a field that takes an OStatus user address.
msgid "Subscribe to"
msgstr "구독할 곳"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "계속"
#. TRANS: Button text.
msgid "Join"
msgstr "가입"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
msgstr "이 그룹 가입"
#. TRANS: Button text.
msgctxt "BUTTON"
msgid "Confirm"
msgstr "확인"
#. TRANS: Tooltip for button "Confirm".
msgid "Subscribe to this user"
msgstr "이 사용자를 구독"
msgid "You are already subscribed to this user."
msgstr "이미 이 사용자에 구독했습니다."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
"later."
msgstr ""
"그 피드에 연결할 수 없습니다. 나중에 그 OStatus 주소를 시도해 보십시오."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "이미 구독했습니다!"
#. TRANS: OStatus remote subscription dialog error.
msgid "Remote subscription failed!"
msgstr "원격 구독이 실패했습니다!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr "세션 토큰에 문제가 있습니다. 다시 시도하십시오."
#. TRANS: Form title.
msgid "Subscribe to user"
msgstr "사용자에 구독"
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "확인"
#. TRANS: Instructions.
msgid ""
"You can subscribe to users from other supported sites. Paste their address "
"or profile URI below:"
msgstr ""
"지원하는 사이트의 사용자에 구독할 수 있습니다. 아래에 주소 또는 프로필 URI를 "
"입력하십시오."
#. TRANS: Field label.
msgid "Join group"
msgstr "그룹 가입"
#. TRANS: Tooltip for field label "Join group".
msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr "OStatus 그룹의 주소. http://example.net/group/nickname 형식."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "이미 이 그룹의 회원입니다."
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already a member!"
msgstr "이미 회원입니다!"
#. TRANS: OStatus remote group subscription dialog error.
msgid "Remote group join failed!"
msgstr "원격 그룹 가입이 실패했습니다!"
#. TRANS: Page title for OStatus remote group join form
msgid "Confirm joining remote group"
msgstr "원격 그룹 가입 확인"
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
msgstr ""
"지원하는 사이트의 그룹에 구독할 수 있습니다. 아래에 그룹의 프로필 URI를 입력"
"하십시오."
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "아이디가 없습니다."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "그 종류의 게시물을 처리할 수 없습니다."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "알 수 없는 글에 답장합니다."
#. TRANS: Client exception.
msgid "In reply to a notice not by this user and not mentioning this user."
msgstr "이 사용자가 쓰지 않았고 이 사용자를 언급하지 않은 글에 대해 답글."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "이미 좋아하는 글입니다."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "새 좋아하는 글을 저장할 수 없습니다."
#. TRANS: Client exception.
msgid "Notice was not favorited!"
msgstr "글이 좋아하는 글이 아닙니다!"
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr "오브젝트 없이 좋아하는 글 표시/해제할 수 없습니다."
#. TRANS: Client exception.
msgid "Cannot handle that kind of object for liking/faving."
msgstr "그 종류의 오브젝트를 좋아함 처리할 수 없습니다."
#. TRANS: Client exception. %s is an object ID.
#, php-format
msgid "Notice with ID %s unknown."
msgstr "아이디가 %s인 글을 알 수 없습니다."
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
#, php-format
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "아이다가 %1$s인 글은 %2$s 사용자가 쓰지 않았습니다."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "리스트에 구독"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr "OStatus 리스트의 주소, http://example.net/user/all/tag 형식"
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "이미 이 리스트에 구독했습니다."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "원격 리스트에 구독 확인"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"다른 지원 사이트의 리스트에 구독할 수 있습니다. 아래에 리스트의 URI를 입력하"
"십시오."
#. TRANS: Client error.
msgid "No such group."
msgstr "그런 그룹이 없습니다."
#. TRANS: Client error.
msgid "Cannot accept remote posts for a remote group."
msgstr "원격 그룹에 대한 원격 포스팅을 받아들일 수 없습니다."
#. TRANS: Client error.
msgid "Cannot read profile to set up group membership."
msgstr "그룹 회원을 준비할 프로필을 읽을 수 없습니다."
#. TRANS: Client error.
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "그룹은 그룹에 가입할 수 없습니다."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "관리자가 그룹에서 나를 차단했습니다."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
#, php-format
msgid "Could not join remote user %1$s to group %2$s."
msgstr "원격 %1$s 사용자가 %2$s 그룹에 가입할 수 없습니다."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr "그룹 회원을 취소할 프로필을 읽을 수 없습니다."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
#, php-format
msgid "Could not remove remote user %1$s from group %2$s."
msgstr "%1$s 원격 사용자를 %2$s 그룹에서 제거할 수 없습니다."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "그런 리스트가 없습니다."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr "원격 리스트에 대한 원격 포스팅을 받아들일 수 없습니다."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr "프로필 태그 구독을 준비할 프로필을 읽을 수 없습니다."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "그룹은 리스트에 구독할 수 없습니다."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "%1$s 원격 사용자가 %2$s 리스트에 구독할 수 없습니다."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr "리스트 가입을 취소할 프로필을 읽을 수 없습니다."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "%1$s 원격 사용자가 %2$s 리스트에 구독할 수 없습니다."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "로컬 구독을 사용할 수 없습니다!"
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "사용자에 구독"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "%s 그룹 가입"
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "가입"
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to list %1$s by %2$s"
msgstr "%2$s의 %1$s 리스트에 구독"
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "구독"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "%s에 구독"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "그룹 이름"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "가입하려는 그룹의 이름."
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "팔로우하려는 사용자의 이름."
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "내 계정 아이디 (예: user@identi.ca)"
#. TRANS: Client error.
msgid "Must provide a remote profile."
msgstr "원격 프로파일을 입력해야 합니다."
#. TRANS: Client error.
msgid "No local user or group nickname provided."
msgstr "입력한 로컬 사용자나 그룹 이름이 없습니다."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "OStatus 연결"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr "hub가 없는 피드에 대해 PuSH 구독 시작을 시도했습니다."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr "hub가 없는 피드에 대해 PuSH 구독 끝을 시도했습니다."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"ostatus_profile 상태가 잘못되었습니다: %s에 대해 여러 개의 아이디가 있습니다"
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr ""
"ostatus_profile 상태가 잘못되었습니다: %s에 대해 모든 아이디가 비어 있습니다."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
#, php-format
msgid "Invalid actor passed to %1$s: %2$s."
msgstr "%1$s에 잘못된 actor: %2$s."
#. TRANS: Server exception.
msgid ""
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
"Activity entry."
msgstr ""
"Ostatus_profile::notify에 잘못된 타입이 넘어왔습니다. XML 문자열이거나 "
"Activity 엔트리여야 합니다."
#. TRANS: Exception.
msgid "Unknown feed format."
msgstr "피드 형식을 알 수 없습니다."
#. TRANS: Exception.
msgid "RSS feed without a channel."
msgstr "채널이 하나도 없는 RSS 피드입니다."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
msgstr "%s 글의 내용이 없습니다."
#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
msgid "Show more"
msgstr "자세히 보기"
#. TRANS: Exception. %s is a profile URL.
#, php-format
msgid "Could not reach profile page %s."
msgstr "%s 프로필 페이지에 연결할 수 없습니다."
#. TRANS: Exception. %s is a URL.
#, php-format
msgid "Could not find a feed URL for profile page %s."
msgstr "프로필 페이지 %s에 대한 피드 URL을 찾을 수 없습니다."
#. TRANS: Feed sub exception.
msgid "Cannot find enough profile information to make a feed."
msgstr "피드를 만들 프로필 정보를 찾을 수 없습니다."
#. TRANS: Server exception. %s is a URL.
#, php-format
msgid "Invalid avatar URL %s."
msgstr "잘못된 아바타 URL %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Tried to update avatar for unsaved remote profile %s."
msgstr "저장하지 않은 %s 원격 프로필에 대해 아바타 업데이트를 시도했습니다."
#. TRANS: Server exception. %s is a URL.
#, php-format
msgid "Unable to fetch avatar from %s."
msgstr "%s에서 아바타를 가져올 수 없습니다."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "author ID URI가 없습니다."
#. TRANS: Exception.
msgid "No profile URI."
msgstr "프로필 URI가 없습니다."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr "로컬 사용자를 원격으로 접근할 수 없습니다."
#. TRANS: Exception.
msgid "Local group cannot be referenced as remote."
msgstr "로컬 그룹을 원격으로 접근할 수 없습니다."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr "로컬 리스트를 원격으로 접근할 수 없습니다."
#. TRANS: Server exception.
msgid "Cannot save local profile."
msgstr "로컬 프로필을 저장할 수 없습니다."
#. TRANS: Server exception.
msgid "Cannot save local list."
msgstr "로컬 리스트를 저장할 수 없습니다."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "OStatus 프로필을 저장할 수 없습니다."
#. TRANS: Exception.
msgid "Not a valid webfinger address."
msgstr "올바른 webfinger 주소가 아닙니다."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Could not save profile for \"%s\"."
msgstr "\"%s\"에 대한 프로필을 저장할 수 없습니다."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Could not save OStatus profile for \"%s\"."
msgstr "\"%s\"에 대한 OStatus 프로필을 저장할 수 없습니다."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Could not find a valid profile for \"%s\"."
msgstr "\"%s\"에 대한 올바른 프로필을 찾을 수 없습니다."
#. TRANS: Server exception.
msgid "Could not store HTML content of long post as file."
msgstr "긴 글의 HTML 내용을 파일로 저장할 수 없습니다."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "프로필에 대한 URI 프로토콜을 알 수 없습니다: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "프로필에 대한 URI 프로토콜이 없습니다: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
msgstr "허브 구독자 확인이 HTTP %s 코드를 리턴했습니다."
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
#, php-format
msgid "Callback returned status: %1$s. Body: %2$s"
msgstr "콜백이 다음 상태를 리턴했습니다: %1$s. 내용: %2$s"
#. TRANS: Exception.
msgid "Unable to locate signer public key."
msgstr "서명 공개 키를 찾을 수 없습니다."
#. TRANS: Exception.
msgid "Salmon invalid actor for signing."
msgstr "Salmon의 서명 actor가 올바르지 않습니다."
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
msgid "This method requires a POST."
msgstr "이 메소드는 POST가 필요합니다."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Salmon에는 \"application/magic-envelope+xml\"이 필요합니다."
#. TRANS: Client error.
msgid "Salmon signature verification failed."
msgstr "Salmon 서명 확인이 실패했습니다."
#. TRANS: Client error.
msgid "Salmon post must be an Atom entry."
msgstr "Salmon 포스팅은 Atom 엔트리여야 합니다."
#. TRANS: Client exception.
msgid "Unrecognized activity type."
msgstr "인식할 수 없는 activity 종류."
#. TRANS: Client exception.
msgid "This target does not understand posts."
msgstr "이 대상은 포스팅을 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand follows."
msgstr "이 대상은 팔로우를 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand unfollows."
msgstr "이 대상은 팔로우 취소를 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand favorites."
msgstr "이 대상은 좋아하는 글을 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand unfavorites."
msgstr "이 대상은 좋아함 취소를 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand share events."
msgstr "이 대상은 행사 공유를 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand joins."
msgstr "이 대상은 가입을 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand leave events."
msgstr "이 대상은 행사 떠나기를 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand tag events."
msgstr "이 대상은 이벤트 태그를 인식하지 못합니다."
#. TRANS: Client exception.
msgid "This target does not understand untag events."
msgstr "이 대상은 이벤트 태그 취소를 인식하지 못합니다."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "알지 못하는 actor에서 salmon slap을 받았습니다."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "태그"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "태그 해제"
#~ msgid "Disfavor"
#~ msgstr "좋아함 취소"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s님이 표시한 %2$s 글이 이제 좋아하는 글이 아닙니다."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "OStatus 사용자의 주소. nickname@example.com 또는 http://example.net/"
#~ "nickname 형식"
#~ msgid "Continue"
#~ msgstr "계속"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr "%2$s 리스트에서 %1$s 원격 사용자를 제거할 수 없습니다."

View File

@@ -9,13 +9,13 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:44+0000\n"
"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -24,24 +24,58 @@ msgstr ""
msgid "Feeds"
msgstr "Канали"
#. TRANS: Link description for link to subscribe to a remote user.
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "Претплати се"
#. TRANS: Link description for link to join a remote group.
msgid "Join"
msgstr "Зачлени се"
#. TRANS: Fieldset legend.
msgid "Tag remote profile"
msgstr "Означи далечински профил"
#. TRANSLATE: %s is a domain.
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Далечински профил"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"Адреса на корисникот на OStatus, како на пр. prekar@primer.com или http://"
"primer.net/prekar"
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Преземи"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "Неважечка URI."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Нажалост, не можевме да ја добиеме таа адреса. Проверете дали адресата од "
"OStatus е од типот prekar@primer.com или http://primer.net/prekar."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Испратено од %s преку OStatus"
#. TRANS: Exception.
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "Не можев да ја поставам далечинската претплата."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Престани со следење"
@@ -51,19 +85,27 @@ msgstr "Престани со следење"
msgid "%1$s stopped following %2$s."
msgstr "%1$s престана да го/ја следи %2$s."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "Не можев да го поставам членството во далечинската група."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "Зачлени се"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "%1$s се зачлени во групата %2$s."
#. TRANS: Exception.
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "Не успеав да Ве зачленам во далечинската група."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "Напушти"
@@ -73,14 +115,76 @@ msgstr "Напушти"
msgid "%1$s has left group %2$s."
msgstr "%1$s ја напушти групата %2$s."
msgid "Disfavor"
msgstr "Откажи бендисана"
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "Не можев да ја воспоставам далечинската претплата на списоци."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Список на следења"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s престана да го следи списокот %2$s од %3$s."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "Не успеав да Ве зачленам во далечинскиот список."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "Престани со следење на списокот"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s престана да го следи списокот %2$s од %3$s."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s го/ја наведе %2$s во списокот %3$s."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Не можев да ја довршам претплатата на каналот на далечинскиот профил. Не "
"можев да ја зачувам ознаката %s."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Престани со следење на списокот"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s го/ја наведе %2$s во списокот %3$s."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, php-format
msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr "%1$s повеќе не ја бендисува забелешката %2$s."
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s престана да го/ја следи %2$s."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
@@ -96,6 +200,10 @@ msgstr "Поднова на профил"
msgid "%s has updated their profile page."
msgstr "%s ја поднови својата профилна страница."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "Означи"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
@@ -122,30 +230,35 @@ msgstr ""
"Неподдржан hub.topic %s - ова средиште служи само за само Atom-емитувања од "
"локални корисници и групи."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr "Неважечки hub.verify „%s“. Мора да биде sync или async."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr "Неважечки hub.lease „%s“. Мора да биде празно или позитивен цел број."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr "Неважечки hub.secret „%s“. Мора да биде под 200 бајти."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". User doesn't exist."
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr "Неважеки hub.topic „%s“. Корисникот не постои."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
msgstr "Неважечки hub.topic „%s“. Групата не постои."
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "Неважеки hub.topic „%s“. Групата не постои."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Неважечки hub.topic %s. Списокот не постои."
#. TRANS: Client exception.
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
@@ -153,6 +266,54 @@ msgstr "Неважечки hub.topic „%s“. Групата не постои.
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "Добив неважечка URL-адреса за %1$s: „%2$s“"
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
msgid "You can use the local tagging!"
msgstr "Можете да го користите локалното означување!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "Означи го/ја %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "Оди"
#. TRANS: Field label.
msgid "User nickname"
msgstr "Прекар на корисникот"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Прекарот на корисникот што сакате да го означите."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Профилна сметка"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "Вашата назнака (ID) на сметката (на пр. korisnik@identi.ca)"
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "Не можев да го проверам профилот на OStatus-сметката."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "Не можев да ја потврдам адресата на далечинскиот профил."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "Список за OStatus"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "Празен или неважечки ID за канал"
@@ -181,6 +342,8 @@ msgstr "Неочекувано барање за претплата за %s."
msgid "Unexpected unsubscribe request for %s."
msgstr "Неочекувано барање за отпишување од претплата за %s."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Нема таков корисник."
@@ -188,20 +351,16 @@ msgstr "Нема таков корисник."
msgid "Subscribe to"
msgstr "Претплати се"
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
"Адреса на корисникот на OStatus, како на пр. prekar@primer.com or http://"
"primer.net/prekar"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Продолжи"
#. TRANS: Button text.
msgid "Join"
msgstr "Зачлени се"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
@@ -219,14 +378,6 @@ msgstr "Претплати се на корисников"
msgid "You are already subscribed to this user."
msgstr "Веќе сте претплатени на овој корисник."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Нажалост, не можевме да ја добиеме таа адреса. Проверете дали адресата од "
"OStatus е од типот prekar@primer.com или http://primer.net/prekar."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
@@ -236,6 +387,7 @@ msgstr ""
"адреса подоцна."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "Веќе сте претплатени!"
@@ -243,6 +395,7 @@ msgstr "Веќе сте претплатени!"
msgid "Remote subscription failed!"
msgstr "Далечинската претплата не успеа!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се повторно."
@@ -250,7 +403,7 @@ msgstr "Се појави проблем со жетонот на Вашата
msgid "Subscribe to user"
msgstr "Претплати се на корисник"
#. TRANS: Page title for OStatus remote subscription form
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Потврди"
@@ -271,6 +424,7 @@ msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr ""
"Адреса на групата на OStatus, како на пр. http://primer.net/group/prekar."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "Веќе членувате во групава."
@@ -286,7 +440,7 @@ msgstr "Придружувањето на далечинската група н
msgid "Confirm joining remote group"
msgstr "Потврди придружување кон далечинска група."
#. TRANS: Instructions.
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
@@ -294,10 +448,17 @@ msgstr ""
"Можете да се претплаќате на групи од други поддржани мреж. места. Подолу "
"залепете го URI-то на профилот на групата."
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Нема ID."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "Не можам да работам со таква објава."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "Како одговор на непозната забелешка."
@@ -307,18 +468,61 @@ msgid "In reply to a notice not by this user and not mentioning this user."
msgstr ""
"Како одговор на забелешка која не е од овој корисник и не го споменува."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "Ова веќе Ви е бендисано."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Не можам да го зачувам новобендисаното."
#. TRANS: Client exception.
msgid "Can't favorite/unfavorite without an object."
msgstr "Не можам да означам како бендисано или да тргнам бендисано без објект."
msgid "Notice was not favorited!"
msgstr "Забелешката не е бендисана!"
#. TRANS: Client exception.
msgid "Can't handle that kind of object for liking/faving."
msgid "Not a person object."
msgstr ""
"Не можам да работам со таков објект за ставање врски/означување бендисани."
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr "Не можам да бендисам/одбендисам без објект."
#. TRANS: Client exception.
msgid "Cannot handle that kind of object for liking/faving."
msgstr "Не можам да работам со таков објект за бендисување."
#. TRANS: Client exception. %s is an object ID.
#, php-format
@@ -330,23 +534,52 @@ msgstr "Не ја распознавам забелешката со ID %s."
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "Забелешката со ID %1$s не е објавена од %2$s."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "Претплати се на списокот"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr ""
"Адреса на списокот од OStatus, како на пр. http://example.net/user/all/tag"
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "Веќе сте претплатени на овој список."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "Потврди претплата на далечинскиот список"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"Можете да се претплаќате на списоци од други поддржани мрежни места. Подолу "
"прекопирајте го URI-то на списокот:"
#. TRANS: Client error.
msgid "No such group."
msgstr "Нема таква група."
#. TRANS: Client error.
msgid "Can't accept remote posts for a remote group."
msgstr "Не можам да прифаќам далечински објави од далечинска група."
msgid "Cannot accept remote posts for a remote group."
msgstr "Не можам да прифаќам далечински објави за далечинска група."
#. TRANS: Client error.
msgid "Can't read profile to set up group membership."
msgid "Cannot read profile to set up group membership."
msgstr ""
"Не можев да го прочитам профилот за да го поставам членството во групата."
#. TRANS: Client error.
msgid "Groups can't join groups."
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "Во групите не можат да се зачленуваат групи."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Блокирани сте на таа група од администратор."
@@ -355,7 +588,9 @@ msgstr "Блокирани сте на таа група од администр
msgid "Could not join remote user %1$s to group %2$s."
msgstr "Не можев да го зачленам далечинскиот корисник %1$s во групата %2$s."
msgid "Can't read profile to cancel group membership."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr "Не можам да го прочитам профилот за откажам членство во групата."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
@@ -363,50 +598,93 @@ msgstr "Не можам да го прочитам профилот за отк
msgid "Could not remove remote user %1$s from group %2$s."
msgstr "Не можев да го отстранам далечинскиот корисник %1$s од групата %2$s."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "Нема таков список."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr "Не можам да прифаќам далечински објави за далечински список."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr ""
"Не можев да го прочитам профилот за да ја поставам претплатата на профилната "
"ознака."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "Групите не можат да се претплаќаат на списоци."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "Не можев да го претплатам далечинскиот корисник %1$s на списокот %2$s."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr "Не можам да го прочитам профилот за откажам членство во списокот."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "Не можев да го претплатам далечинскиот корисник %1$s на списокот %2$s."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "Можете да ја користите локалната претплата!"
#. TRANS: Form legend.
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Претплата на корисник"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Зачлени се во групата %s"
#. TRANS: Button text.
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Зачлени се"
#. TRANS: Form legend.
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to %s"
msgstr "Претплати се на %s"
msgid "Subscribe to list %1$s by %2$s"
msgstr "Претплати се на списокот %1$s од %2$s"
#. TRANS: Button text.
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Претплати се"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Претплати се на %s"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Прекар на групата"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "Прекар на групата кајшто сакате да се зачлените."
#. TRANS: Field label.
msgid "User nickname"
msgstr "Прекар на корисникот"
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Прекарот на корисникот што сакате да го следите."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Профилна сметка"
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account id (e.g. user@identi.ca)."
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "Вашата назнака (ID) на сметката (на пр. korisnik@identi.ca)."
#. TRANS: Client error.
@@ -414,37 +692,34 @@ msgid "Must provide a remote profile."
msgstr "Мора да наведете далечински профил."
#. TRANS: Client error.
msgid "Couldn't look up OStatus account profile."
msgstr "Не можев да го проверам профилот на OStatus-сметката."
#. TRANS: Client error.
msgid "Couldn't confirm remote profile address."
msgstr "Не можев да ја потврдам адресата на далечинскиот профил."
msgid "No local user or group nickname provided."
msgstr "Нема наведено прекар на локален корисник или група."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "OStatus - Поврзување"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr "Се обидов да ја започнам PuSH-претплатата за канал без средиште."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr ""
"Се обидувам да ставам крај на PuSH-претплатата за емитување без средиште."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"Неважечка ostatus_profile-состојба: назнаките (ID) на групата и профилот се "
"наместени за %s."
"Неважечка состојба на ostatus_profile: зададени се две или повеќе назнаки "
"(ID) за %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr ""
"Неважечка ostatus_profile-состојба: назнаките (ID) за групата и профилот се "
"празни за %s."
"Неважечка состојба на ostatus_profile: сите назнаки (ID) за %s се празни."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
@@ -468,10 +743,6 @@ msgstr "Непознат формат на каналско емитување."
msgid "RSS feed without a channel."
msgstr "RSS-емитување без канал."
#. TRANS: Client exception.
msgid "Can't handle that kind of post."
msgstr "Не можам да работам со таква објава."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
@@ -493,7 +764,7 @@ msgid "Could not find a feed URL for profile page %s."
msgstr "Не можев да пронајдам каналска URL-адреса за профилната страница %s."
#. TRANS: Feed sub exception.
msgid "Can't find enough profile information to make a feed."
msgid "Cannot find enough profile information to make a feed."
msgstr "Не можев да најдам доволно профилни податоци за да направам канал."
#. TRANS: Server exception. %s is a URL.
@@ -512,20 +783,36 @@ msgstr ""
msgid "Unable to fetch avatar from %s."
msgstr "Не можам да го добијам аватарот од %s."
#. TRANS: Exception.
msgid "Local user can't be referenced as remote."
msgstr "Локалниот корисник не може да се наведе како далечински."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "Не пронајдов URI за авторската ознака."
#. TRANS: Exception.
msgid "Local group can't be referenced as remote."
msgstr "Локалната група не може да се наведе како далечинска."
msgid "No profile URI."
msgstr "Нема URI за профилот."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr "Локалниот корисник не може да се наведува како далечински."
#. TRANS: Exception.
msgid "Local group cannot be referenced as remote."
msgstr "Локалната група не може да се наведува како далечинска."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr "Локалниот список не може да се наведува како далечински."
#. TRANS: Server exception.
msgid "Can't save local profile."
msgid "Cannot save local profile."
msgstr "Не можам да го зачувам локалниот профил."
#. TRANS: Server exception.
msgid "Can't save OStatus profile."
msgid "Cannot save local list."
msgstr "Не можам да го зачувам локалниот список."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "Не можам да го зачувам профилот од OStatus."
#. TRANS: Exception.
@@ -534,17 +821,17 @@ msgstr "Ова не е важечка Webfinger-адреса"
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save profile for \"%s\"."
msgid "Could not save profile for \"%s\"."
msgstr "Не можам да го зачувам профилот за „%s“."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save ostatus_profile for \"%s\"."
msgstr "Не можам да го зачувам ostatus_profile за „%s“."
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Не можам да го зачувам профилот на OStatus за „%s“."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't find a valid profile for \"%s\"."
msgid "Could not find a valid profile for \"%s\"."
msgstr "Не можев да пронајдам важечки профил за „%s“."
#. TRANS: Server exception.
@@ -552,6 +839,17 @@ msgid "Could not store HTML content of long post as file."
msgstr ""
"Не можам да ја складирам HTML-содржината на долгата објава како податотека."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "Непрепознаен URI-протокол за профилот: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Нема URI-протокол за профилот: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
@@ -574,7 +872,7 @@ msgstr "Ова е неважечки учесник во потпишување
msgid "This method requires a POST."
msgstr "Овој метод бара POST."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Salmon бара „програм/magic-envelope+xml“."
@@ -591,37 +889,73 @@ msgid "Unrecognized activity type."
msgstr "Непризнаен вид на активност."
#. TRANS: Client exception.
msgid "This target doesn't understand posts."
msgid "This target does not understand posts."
msgstr "Оваа цел не разбира објави."
#. TRANS: Client exception.
msgid "This target doesn't understand follows."
msgid "This target does not understand follows."
msgstr "Оваа цел не разбира следења."
#. TRANS: Client exception.
msgid "This target doesn't understand unfollows."
msgid "This target does not understand unfollows."
msgstr "Оваа цел не разбира прекини на следења."
#. TRANS: Client exception.
msgid "This target doesn't understand favorites."
msgstr "Оваа цел не разбира бендисување на забелешки."
msgid "This target does not understand favorites."
msgstr "Оваа цел не разбира бендисувања."
#. TRANS: Client exception.
msgid "This target doesn't understand unfavorites."
msgstr "Оваа цел не разбира одбендисување на забелешки."
msgid "This target does not understand unfavorites."
msgstr "Оваа цел не разбира одбендисувања."
#. TRANS: Client exception.
msgid "This target doesn't understand share events."
msgid "This target does not understand share events."
msgstr "Оваа цел не разбира споделување на настани."
#. TRANS: Client exception.
msgid "This target doesn't understand joins."
msgid "This target does not understand joins."
msgstr "Оваа цел не разбира придружувања."
#. TRANS: Client exception.
msgid "This target doesn't understand leave events."
msgid "This target does not understand leave events."
msgstr "Оваа цел не разбира напуштање на настани."
#. TRANS: Client exception.
msgid "This target does not understand tag events."
msgstr "Оваа цел не разбира означување на настани."
#. TRANS: Client exception.
msgid "This target does not understand untag events."
msgstr "Оваа цел не разбира отстранување на ознаки на настани."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Примив Salmon-шамар од непознат учесник."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Означи"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "Тргни ознака"
#~ msgid "Disfavor"
#~ msgstr "Откажи бендисана"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s повеќе не ја бендисува забелешката %2$s."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Адреса на корисникот на OStatus, како на пр. prekar@primer.com or http://"
#~ "primer.net/prekar"
#~ msgid "Continue"
#~ msgstr "Продолжи"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr ""
#~ "Не можев да го отстранам далечинскиот корисник %1$s од списокот %2$s."

View File

@@ -10,13 +10,13 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: 2011-03-26 11:06:52+0000\n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:44+0000\n"
"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -25,25 +25,58 @@ msgstr ""
msgid "Feeds"
msgstr "Feeds"
#. TRANS: Link description for link to subscribe to a remote user.
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "Abonneren"
#. TRANS: Link description for link to join a remote group.
msgid "Join"
msgstr "Toetreden"
#. TRANS: Fieldset legend.
msgid "Tag remote profile"
msgstr "Extern profiel in lijst opnemen"
#. TRANSLATE: %s is a domain.
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Extern profiel"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"Het OStatusadres van de gebruiker. Bijvoorbeeld nickname@example.com of "
"http://example.net/nickname."
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Ophalen"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "Ongeldige URI."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Dat adres is helaas niet te bereiken. Zorg dat het OStatusadres de voor heft "
"van gebruiker@example.com of http://example.net/gebruiker."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Verzonden vanaf %s via OStatus"
#. TRANS: Exception.
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr ""
"Het was niet mogelijk het abonnement via een andere dienst in te stellen."
msgstr "Het was niet mogelijk het externe abonnement in te stellen."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Niet langer volgen"
@@ -53,10 +86,14 @@ msgstr "Niet langer volgen"
msgid "%1$s stopped following %2$s."
msgstr "%1$s volgt %2$s niet langer."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr ""
"Het was niet mogelijk het groepslidmaatschap via een andere dienst in te "
"stellen."
msgstr "Het was niet mogelijk het externe groepslidmaatschap in te stellen."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "Toetreden"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
@@ -64,11 +101,12 @@ msgstr ""
msgid "%1$s has joined group %2$s."
msgstr "%1$s is lid geworden van de groep %2$s."
#. TRANS: Exception.
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr ""
"Het was niet mogelijk toe te streden to de groep van een andere dienst."
msgstr "Het was niet mogelijk lid te worden van de externe groep."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "Verlaten"
@@ -78,18 +116,80 @@ msgstr "Verlaten"
msgid "%1$s has left group %2$s."
msgstr "%1$s heeft de groep %2$s verlaten"
msgid "Disfavor"
msgstr "Uit favorieten verwijderen"
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "Het was niet mogelijk het externe lijstabonnement in te stellen."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Op lijst abonneren"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s volgt niet langer de lijst %2$s van %3$s."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "Het was niet mogelijk toe abonneren de externe lijst."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "Lijst niet langer volgen"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s volgt niet langer de lijst %2$s van %3$s."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s heeft %2$s in de lijst %3$s geplaatst."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Het was niet mogelijk te abonneren op de feed van het externe profiel. Het "
"label %s kon niet opgeslagen worden."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Lijst niet langer volgen"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s heeft %2$s in de lijst %3$s geplaatst."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, php-format
msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr "%1$s heeft de mededeling %2$s als favoriet verwijderd."
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s volgt %2$s niet langer."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
msgstr "Via andere dienst"
msgstr "Extern"
#. TRANS: Title for activity.
msgid "Profile update"
@@ -101,6 +201,10 @@ msgstr "Profielupdate"
msgid "%s has updated their profile page."
msgstr "Het profiel van %s is bijgewerkt."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "Label"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
@@ -127,41 +231,94 @@ msgstr ""
"Niet ondersteund hub.topic \"%s\". Deze hub serveert alleen Atom feeds van "
"lokale gebruikers en groepen."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr ""
"Ongeldige waarde voor hub.verify \"%s\". Het moet \"sync\" of \"async\" zijn."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr ""
"Ongeldige waarde voor hub.lease \"%s\". Deze waarde moet leeg zijn of een "
"positief geheel getal."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr ""
"Ongeldig hub.secret \"%s\". Het moet minder dan tweehonderd bytes bevatten."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". User doesn't exist."
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr "Ongeldig hub.topic \"%s\". De gebruiker bestaat niet."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "Ongeldig hub.topic \"%s\". De groep bestaat niet."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Ongeldig hub.topic \"%s\". De lijst bestaat niet."
#. TRANS: Client exception.
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
#, php-format
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "Er is een ongeldige URL doorgegeven voor %1$s: \"%2$s\""
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
msgid "You can use the local tagging!"
msgstr "U kunt de lokale labels gebruiken!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "Labelen als %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "OK"
#. TRANS: Field label.
msgid "User nickname"
msgstr "Gebruikersnaam"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Naam van de gebruiker die u wilt labelen."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Gebruikersprofiel"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "Uw gebruikers-ID (bv. gebruiker@identi.ca)"
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "Het was niet mogelijk het OStatus-gebruikersprofiel te vinden."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "Het was niet mogelijk het externe profieladres te bevestigen."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "OStatus-lijst"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "Het feed-ID is leeg of ongeldig."
@@ -190,27 +347,25 @@ msgstr "Onverwacht abonneringsverzoek voor %s."
msgid "Unexpected unsubscribe request for %s."
msgstr "Onverwacht verzoek om abonnement op te hebben voor %s."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Onbekende gebruiker."
msgstr "Deze gebruiker bestaat niet."
#. TRANS: Field label for a field that takes an OStatus user address.
msgid "Subscribe to"
msgstr "Abonneren op"
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
"Het OStatusadres van de gebruiker. Bijvoorbeeld nickname@example.com of "
"http://example.net/nickname"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Doorgaan"
#. TRANS: Button text.
msgid "Join"
msgstr "Toetreden"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
@@ -228,14 +383,6 @@ msgstr "Op deze gebruiker abonneren"
msgid "You are already subscribed to this user."
msgstr "U bent al geabonneerd op deze gebruiker."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Dat adres is helaas niet te bereiken. Zorg dat het OStatusadres de voor heft "
"van gebruiker@example.com of http://example.net/gebruiker."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
@@ -244,13 +391,15 @@ msgstr ""
"Die feed was niet te bereiken. Probeer dat OStatusadres later nog een keer."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "U bent al gebonneerd!"
#. TRANS: OStatus remote subscription dialog error.
msgid "Remote subscription failed!"
msgstr "Abonneren via een andere dienst is mislukt!"
msgstr "Extern abonneren is mislukt!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr ""
"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
@@ -260,7 +409,7 @@ msgstr ""
msgid "Subscribe to user"
msgstr "Abonneren op gebruiker"
#. TRANS: Page title for OStatus remote subscription form
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Bevestigen"
@@ -282,6 +431,7 @@ msgstr ""
"Het adres voor de OStatusgroep. Bijvoorbeeld; http://example.net/group/"
"nickname."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "U bent al lid van deze groep."
@@ -291,13 +441,13 @@ msgstr "U bent al lid!"
#. TRANS: OStatus remote group subscription dialog error.
msgid "Remote group join failed!"
msgstr "Het verlaten van de groep bij een andere dienst is mislukt."
msgstr "Het verlaten van de externe groep is mislukt."
#. TRANS: Page title for OStatus remote group join form
msgid "Confirm joining remote group"
msgstr "Lid worden van groep bij andere dienst"
msgstr "Lidmaatschap van externe groep bevestigen"
#. TRANS: Instructions.
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
@@ -305,10 +455,17 @@ msgstr ""
"U kunt abonneren op groepen van andere ondersteunde sites. Plak hieronder de "
"URI van het groepsprofiel:"
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Geen ID."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "Dat type post kan niet verwerkt worden."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "In antwoord op een onbekende mededeling."
@@ -319,17 +476,61 @@ msgstr ""
"In antwoord op een mededeling niet door deze gebruiker en niet over of aan "
"deze gebruiker."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "Deze mededeling staat al in uw favorietenlijst."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Het was niet mogelijk de nieuwe favoriet op te slaan."
#. TRANS: Client exception.
msgid "Can't favorite/unfavorite without an object."
msgid "Notice was not favorited!"
msgstr "De mededeling is niet op de favorietenlijst geplaatst!"
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr ""
"Het is niet mogelijk (niet langer) als favoriet te markeren zonder object."
#. TRANS: Client exception.
msgid "Can't handle that kind of object for liking/faving."
msgid "Cannot handle that kind of object for liking/faving."
msgstr ""
"Dat object is niet beschikbaar voor (niet langer) als favoriet aanmerken."
@@ -343,35 +544,63 @@ msgstr "De mededeling met ID %s is onbekend."
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "De mededeling met ID %1$s is niet geplaatst foor %2$s."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "Abonneren op lijst"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr ""
"Het adres voor de OStatus-lijst, bijvoorbeeld http://example.net/user/all/"
"tag."
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "U bent al geabonneerd op deze lijst."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "Abonnement op externe lijst bevestigen"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"U kunt abonneren op lijsten van andere ondersteunde sites. Plak hieronder de "
"URI van de lijst:"
#. TRANS: Client error.
msgid "No such group."
msgstr "De opgegeven groep bestaat niet."
#. TRANS: Client error.
msgid "Can't accept remote posts for a remote group."
msgstr ""
"Berichten van andere diensten voor groepen bij andere diensten worden niet "
"geaccepteerd."
msgid "Cannot accept remote posts for a remote group."
msgstr "Externe berichten voor externe groepen worden niet geaccepteerd."
#. TRANS: Client error.
msgid "Can't read profile to set up group membership."
msgid "Cannot read profile to set up group membership."
msgstr "Het profiel om lid te worden van een groep kon niet gelezen worden."
#. TRANS: Client error.
msgid "Groups can't join groups."
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "Groepen kunnen geen lid worden van groepen."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Een beheerder heeft ingesteld dat u geen lid mag worden van die groep."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
#, php-format
msgid "Could not join remote user %1$s to group %2$s."
msgstr ""
"De gebruiker %1$s van een andere dienst kon niet lid worden van de groep %2"
"$s."
msgstr "De externe gebruiker %1$s kon geen lid worden van de groep %2$s."
msgid "Can't read profile to cancel group membership."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr ""
"Het profiel om groepslidmaatschap te annuleren kon niet gelezen worden."
@@ -382,50 +611,99 @@ msgstr ""
"Het was niet mogelijk gebruiker %1$s van een andere dienst uit de groep %2$s "
"te verwijderen."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "De lijst bestaat niet."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr ""
"Berichten van andere diensten voor lijsten bij andere diensten worden niet "
"geaccepteerd."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr ""
"Het profiel om te abonneren op een persoonslabel kon niet gelezen worden."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "Groepen kunnen niet abonneren op lijsten."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr ""
"Het was niet mogelijk om de externe gebruiker %1$s te abonneren op de lijst %"
"2$s."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr ""
"Het profiel om het lijstlidmaatschap te annuleren kon niet gelezen worden."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr ""
"Het was niet mogelijk om de externe gebruiker %1$s te abonneren op de lijst %"
"2$s."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "U kunt het lokale abonnement gebruiken!"
#. TRANS: Form legend.
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Abonneren op gebruiker"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Lid worden van de groep %s"
#. TRANS: Button text.
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Toetreden"
#. TRANS: Form legend.
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to %s"
msgstr "Abonneren op %s"
msgid "Subscribe to list %1$s by %2$s"
msgstr "Abonneren op de lijst %1$s van %2$s"
#. TRANS: Button text.
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Abonneren"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Abonneren op %s"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Korte groepsnaam"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "De naam van de groep die u wilt volgen."
#. TRANS: Field label.
msgid "User nickname"
msgstr "Gebruikersnaam"
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Gebruikersnaam van de gebruiker waarop u wilt abonneren."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Gebruikersprofiel"
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account id (e.g. user@identi.ca)."
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "Uw gebruikers-ID (bv. gebruiker@identi.ca)."
#. TRANS: Client error.
@@ -433,39 +711,33 @@ msgid "Must provide a remote profile."
msgstr "Er moet een profiel bij een andere dienst opgegeven worden."
#. TRANS: Client error.
msgid "Couldn't look up OStatus account profile."
msgstr "Het was niet mogelijk het OStatusgebruikersprofiel te vinden."
#. TRANS: Client error.
msgid "Couldn't confirm remote profile address."
msgstr ""
"Het was niet mogelijk het profieladres bij de andere dienst te bevestigen."
msgid "No local user or group nickname provided."
msgstr "Er is geen lokale gebruikers- of groepsnaam opgegeven."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "OStatuskoppeling"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr ""
"Aan het proberen een PuSH-abonnement te krijgen op een feed zonder hub."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr ""
"Aan het proberen een PuSH-abonnement te verwijderen voor een feed zonder hub."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"Ongeldige ostatus_profile status: het ID voor zowel de groep als het profiel "
"voor %s is ingesteld."
"Ongeldige OStatus-profielstatus: er zijn twee of meer ID's ingesteld voor %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
msgstr ""
"Ongeldige ostatus_profile status: het ID voor zowel de groep als het profiel "
"voor %s is leeg."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr "Ongeldige ostatus_profile status: alle ID's zijn leeg voor %s."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
@@ -489,10 +761,6 @@ msgstr "Onbekend feedformaat"
msgid "RSS feed without a channel."
msgstr "RSS-feed zonder kanaal."
#. TRANS: Client exception.
msgid "Can't handle that kind of post."
msgstr "Dat type post kan niet verwerkt worden."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
@@ -514,9 +782,9 @@ msgid "Could not find a feed URL for profile page %s."
msgstr "Het was niet mogelijk de feed-URL voor de profielpagina %s te vinden."
#. TRANS: Feed sub exception.
msgid "Can't find enough profile information to make a feed."
msgid "Cannot find enough profile information to make a feed."
msgstr ""
"Het was niet mogelijk voldoende profielinformatie te vinden om een feed te "
"Het was niet mogelijk voldoende profielgegevens te vinden om een feed te "
"maken."
#. TRANS: Server exception. %s is a URL.
@@ -535,24 +803,40 @@ msgstr ""
msgid "Unable to fetch avatar from %s."
msgstr "Het was niet mogelijk de avatar op te halen van %s."
#. TRANS: Exception.
msgid "Local user can't be referenced as remote."
msgstr ""
"Naar een lokale gebruiker kan niet verwezen worden alsof die zich bij een "
"andere dienst bevindt."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "Er is geen URI voor het auteurs-ID gevonden."
#. TRANS: Exception.
msgid "Local group can't be referenced as remote."
msgid "No profile URI."
msgstr "Geen profiel-URI."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr ""
"Naar een lokale groep kan niet verwezen worden alsof die zich bij een andere "
"dienst bevindt."
"Naar een lokale gebruiker kan niet verwezen worden alsof die zich bij extern "
"bevindt."
#. TRANS: Exception.
msgid "Local group cannot be referenced as remote."
msgstr ""
"Naar een lokale groep kan niet verwezen worden alsof die zich extern bevindt."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr ""
"Naar een lokale lijst kan niet verwezen worden alsof die zich extern bevindt."
#. TRANS: Server exception.
msgid "Can't save local profile."
msgid "Cannot save local profile."
msgstr "Het was niet mogelijk het lokale profiel op te slaan."
#. TRANS: Server exception.
msgid "Can't save OStatus profile."
msgid "Cannot save local list."
msgstr "Het was niet mogelijk de lokale lijst op te slaan."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "Het was niet mogelijk het Ostatusprofiel op te slaan."
#. TRANS: Exception.
@@ -561,17 +845,17 @@ msgstr "Geen geldig webfingeradres."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save profile for \"%s\"."
msgid "Could not save profile for \"%s\"."
msgstr "Het was niet mogelijk het profiel voor \"%s\" op te slaan."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save ostatus_profile for \"%s\"."
msgstr "Het was niet mogelijk het ostatus_profile voor \"%s\" op te slaan."
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Het was niet mogelijk het OStatus-profiel voor \"%s\" op te slaan."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't find a valid profile for \"%s\"."
msgid "Could not find a valid profile for \"%s\"."
msgstr "Er is geen geldig profiel voor \"%s\" gevonden."
#. TRANS: Server exception.
@@ -580,6 +864,17 @@ msgstr ""
"Het was niet mogelijk de HTML-inhoud van het lange bericht als bestand op te "
"slaan."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "Onbekend URI-protocol voor profiel: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Geen URI-protocol voor profiel: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
@@ -603,7 +898,7 @@ msgstr "Ongeldige actor voor het ondertekenen van Salmon."
msgid "This method requires a POST."
msgstr "Deze methode vereist een POST."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Salmon vereist \"application/magic-envelope+xml\"."
@@ -620,37 +915,74 @@ msgid "Unrecognized activity type."
msgstr "Onbekend activiteitentype."
#. TRANS: Client exception.
msgid "This target doesn't understand posts."
msgid "This target does not understand posts."
msgstr "Deze bestemming begrijpt berichten niet."
#. TRANS: Client exception.
msgid "This target doesn't understand follows."
msgid "This target does not understand follows."
msgstr "Deze bestemming begrijpt volgen niet."
#. TRANS: Client exception.
msgid "This target doesn't understand unfollows."
msgid "This target does not understand unfollows."
msgstr "Deze bestemming begrijpt niet langer volgen niet."
#. TRANS: Client exception.
msgid "This target doesn't understand favorites."
msgid "This target does not understand favorites."
msgstr "Deze bestemming begrijpt favorieten niet."
#. TRANS: Client exception.
msgid "This target doesn't understand unfavorites."
msgid "This target does not understand unfavorites."
msgstr "Deze bestemming begrijpt favorieten verwijderen niet."
#. TRANS: Client exception.
msgid "This target doesn't understand share events."
msgid "This target does not understand share events."
msgstr "Deze bestemming begrijpt gebeurtenissen delen niet."
#. TRANS: Client exception.
msgid "This target doesn't understand joins."
msgid "This target does not understand joins."
msgstr "Deze bestemming begrijpt lid worden niet."
#. TRANS: Client exception.
msgid "This target doesn't understand leave events."
msgstr "Deze bestemming begrijpt uitschrijven van gebeurtenissen niet."
msgid "This target does not understand leave events."
msgstr "Deze bestemming begrijpt uitschrijven van evenementen niet."
#. TRANS: Client exception.
msgid "This target does not understand tag events."
msgstr "Deze bestemming begrijpt evenementen labelen niet."
#. TRANS: Client exception.
msgid "This target does not understand untag events."
msgstr "Deze bestemming begrijpt evenementen ontlabelen niet."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Er is een Salmonslap ontvangen van een niet-geïdentificeerde actor."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Label"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "Label verwijderen"
#~ msgid "Disfavor"
#~ msgstr "Uit favorieten verwijderen"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s heeft de mededeling %2$s als favoriet verwijderd."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Het OStatusadres van de gebruiker. Bijvoorbeeld nickname@example.com of "
#~ "http://example.net/nickname"
#~ msgid "Continue"
#~ msgstr "Doorgaan"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr ""
#~ "!Het was niet mogelijk de externe gebruiker %1$s uit de lijst %2$s te "
#~ "verwijderen."

View File

@@ -0,0 +1,993 @@
# Translation of StatusNet - OStatus to Tagalog (Tagalog)
# Exported from translatewiki.net
#
# Author: AnakngAraw
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:44+0000\n"
"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tl\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Feeds"
msgstr "Mga pasubo"
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "Pumayag na tumanggap ng sipi"
#. TRANS: Fieldset legend.
msgid "Tag remote profile"
msgstr "Tatakan ang malayong balangkas"
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Malayong balangkas"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"Tirahan ng tagagamit ng OStatus, katulad ng nickname@example.com o http://"
"example.net/nickname."
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Salukin"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "Hindi katanggap-tanggap na URI."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Paumanhin, hindi namin maabot ang tirahang iyan. Mangyaring tiyakin na ang "
"tirahan ng OStatus ay katulad ng nickname@example.com o http://example.net/"
"nickname."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Ipinadala mula sa %s sa pamamagitan ng OStatus"
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "Hindi maihanda ang malayuang pagpapasipi."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Huwag sundan"
#. TRANS: Success message for unsubscribe from user attempt through OStatus.
#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
#, php-format
msgid "%1$s stopped following %2$s."
msgstr "Tumigil si %1$s sa pagsunod kay %2$s."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "Hindi maihanda ang malayuang pagkakasapi sa pangkat."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "Sumali"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "Sumali na si %1$s sa pangkat na %2$s."
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "Nabigo sa pagsali sa malayong pangkat."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "Lumisan"
#. TRANS: Success message for unsubscribe from group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name.
#, php-format
msgid "%1$s has left group %2$s."
msgstr "Lumisan si %1$s magmula sa pangkat na %2$s."
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "Hindi maihanda ang pagpapasipi ng malayong talaan."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Sundan ang talaan"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "Tumigil si %1$s sa pagsunod sa talaang %2$s ni %3$s."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "Nabigo sa pagpapasipi sa malayong talaan."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "Huwag sundan ang talaan"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "Tumigil si %1$s sa pagsunod sa talaang %2$s ni %3$s."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "Itinala ni %1$s si %2$s sa loob ng talaang %3$s."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Hindi mabuo ang pagpapasipi sa pasubo ng malayong balangkas. Hindi masasagip "
"ang tatak na %s."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Huwag sundan ang talaan"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "Itinala ni %1$s si %2$s sa loob ng talaang %3$s."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "Tumigil si %1$s sa pagsunod kay %2$s."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
msgstr "Malayo"
#. TRANS: Title for activity.
msgid "Profile update"
msgstr "Pagsasapanahon ng balangkas"
#. TRANS: Ping text for remote profile update through OStatus.
#. TRANS: %s is user that updated their profile.
#, php-format
msgid "%s has updated their profile page."
msgstr "Si %s ay nagsapanahon ng kanilang pahina ng balangkas."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "Tatakan"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
"org/\">OStatus</a>."
msgstr ""
"Sundan ang mga taong nasa kahabaan ng mga kalambatang panlipunan na "
"nagpapatupad ng <a href=\"http://ostatus.org/\">OStatus</a>."
#. TRANS: Client exception.
msgid "Publishing outside feeds not supported."
msgstr "Hindi tinatangkilik ang paglalathalang nasa labas ng mga pasubo."
#. TRANS: Client exception. %s is a mode.
#, php-format
msgid "Unrecognized mode \"%s\"."
msgstr "Hindi nakikilalang pamamaraan na \"%s\"."
#. TRANS: Client exception. %s is a topic.
#, php-format
msgid ""
"Unsupported hub.topic %s this hub only serves local user and group Atom "
"feeds."
msgstr ""
"Hindi tinatangkilik na hub.topic na %s ang sindirit na ito ay naglilingkod "
"lamang sa mga pasubong Atom ng katutubong tagagamit at pangkat."
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr ""
"Hindi katanggap-tanggap na hub.verify na \"%s\". Dapat itong sumasabay o "
"hindi sumasabay."
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr ""
"Hindi katanggap-tanggap na hub.lease na \"%s\". Dapat na walang laman ito o "
"positibong buumbilang."
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr ""
"Hindi katanggap-tanggap na hub.secret na \"%s\". Dapat itong nasa ilalim ng "
"200 mga byte."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr ""
"Hindi katanggap-tanggap na hub.topic na \"%s\". Hindi umiiral ang tagagamit."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr ""
"Hindi katanggap-tanggap na hub.topic na \"%s\". Hindi umiiral ang pangkat."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Hindi katanggap-tanggap na hub.topic na %s; hindi umiiral ang talaan."
#. TRANS: Client exception.
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
#, php-format
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "Hindi katanggap-tanggap na URL ang ipinasa para sa %1$s: \"%2$s\""
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
msgid "You can use the local tagging!"
msgstr "Maaari mong gamitin ang katutubong pagtatatak!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "Tatakan si %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "Pumunta"
#. TRANS: Field label.
msgid "User nickname"
msgstr "Palayaw ng tagagamit"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Palayaw ng tagagamit na nais mong tatakan."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Akawnt ng Balangkas"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "ID ng akawnt mo (katulad ng user@identi.ca)."
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "Hindi makita ang balangkas ng akawnt ng OStatus."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "Hindi matiyak ang malayong tirahan ng balangkas."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "Talaan ng OStatus"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "Walang laman o hindi katanggap-tanggap na ID ng pasubo."
#. TRANS: Server exception. %s is a feed ID.
#, php-format
msgid "Unknown PuSH feed id %s"
msgstr "Hindi nalalamang ID na %s ng pasubong PuSH"
#. TRANS: Client exception. %s is an invalid feed name.
#, php-format
msgid "Bad hub.topic feed \"%s\"."
msgstr "Masamang pasubong hub.topic na \"%s\"."
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
#, php-format
msgid "Bad hub.verify_token %1$s for %2$s."
msgstr "Masamang hub.verify_token %1$s para sa %2$s."
#. TRANS: Client exception. %s is an invalid topic.
#, php-format
msgid "Unexpected subscribe request for %s."
msgstr "Hindi inaasahang kahilingan ng pagpapasipi para sa %s."
#. TRANS: Client exception. %s is an invalid topic.
#, php-format
msgid "Unexpected unsubscribe request for %s."
msgstr "Hindi inaasahang kahilingan ng hindi pagpapasipi para sa %s."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Walang ganyang tagagamit."
#. TRANS: Field label for a field that takes an OStatus user address.
msgid "Subscribe to"
msgstr "Tumanggap ng sipi mula sa"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Magpatuloy"
#. TRANS: Button text.
msgid "Join"
msgstr "Sumali"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
msgstr "Sumali sa pangkat na ito"
#. TRANS: Button text.
msgctxt "BUTTON"
msgid "Confirm"
msgstr "Tiyakin"
#. TRANS: Tooltip for button "Confirm".
msgid "Subscribe to this user"
msgstr "Magpasipi sa tagagamit na ito"
msgid "You are already subscribed to this user."
msgstr "Tumatanggap ka na ng sipi mula sa tagagamit na ito."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
"later."
msgstr ""
"Paumanhin, hindi namin maabot ang pasubong iyan. Mangyaring subukan ulit "
"ang tirahang iyan mamaya."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "Nagpapasipi na!"
#. TRANS: OStatus remote subscription dialog error.
msgid "Remote subscription failed!"
msgstr "Nabigo ang malayuang pagpapasipi!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr ""
"Nagkaroon ng isang suliranin sa kahalip ng sesyon mo. Pakisubukan uli."
#. TRANS: Form title.
msgid "Subscribe to user"
msgstr "Tumanggap ng sipi mula sa tagagamit"
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Tiyakin"
#. TRANS: Instructions.
msgid ""
"You can subscribe to users from other supported sites. Paste their address "
"or profile URI below:"
msgstr ""
"Maaari kang magpasipi sa mga tagagamit mula sa iba pang mga sityong "
"tinatangkilik. Idikit ang kanilang tirahan o URI ng balangkas sa ibaba:"
#. TRANS: Field label.
msgid "Join group"
msgstr "Sumali sa pangkat"
#. TRANS: Tooltip for field label "Join group".
msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr ""
"Tirahan ng pangkat ng OStatus, katulad ng http://example.net/group/nickname."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "Isa ka nang kasapi ng pangkat na ito."
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already a member!"
msgstr "Isa nang kasapi!"
#. TRANS: OStatus remote group subscription dialog error.
msgid "Remote group join failed!"
msgstr "Nabigo ang pagsali sa malayong pangkat!"
#. TRANS: Page title for OStatus remote group join form
msgid "Confirm joining remote group"
msgstr "Tiyakin ang pagsali sa malayong pangkat"
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
msgstr ""
"Maaari kang magpasipi sa mga pangkat mula sa iba pang mga sityong "
"tinatangkilik. Idikit ang tirahan o URI ng balangkas ng pangkat sa ibaba:"
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Walang ID."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "Hindi mapanghawakan ang ganyang uri ng paskil."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "Bilang tugon sa hindi nalalamang pabatid."
#. TRANS: Client exception.
msgid "In reply to a notice not by this user and not mentioning this user."
msgstr ""
"Bilang pagtugon sa isang pabatid na hindi sa pamamagitan ng tagagamit na ito "
"at hindi binabanggit ang tagagamit na ito."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "Ito ay isa nang kinagigiliwan."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Hindi masagip ang bagong kinagigiliwan."
#. TRANS: Client exception.
msgid "Notice was not favorited!"
msgstr "Hindi kinagiliwan ang pabatid!"
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr "Hindi makagiliwan/huwag kagiliwan na wala ang isang bagay."
#. TRANS: Client exception.
msgid "Cannot handle that kind of object for liking/faving."
msgstr ""
"Hindi mapanghawakan ang ganyang uri ng bagay para sa paggusto/paggiliw."
#. TRANS: Client exception. %s is an object ID.
#, php-format
msgid "Notice with ID %s unknown."
msgstr "Hindi nalalaman ang pabatid na may ID na %s."
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
#, php-format
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "Hindi ipinaskil ni %2$s ang pabatid na may ID na %1$s."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "Tumanggap ng sipi mula sa talaan"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr ""
"Tirahan ng tatak ng talaan ng OStatus, katulad ng http://example.net/user/"
"all/tag"
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "Tumatanggap ka na ng sipi mula sa talaang ito."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "Tiyakin ang pagpapasipi sa malayong talaan"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"Maaari kang magpasipi sa mga talaan mula sa iba pang mga sityong "
"tinatangkilik. Idikit ang tirahan o URI ng balangkas ng talaang nasa ibaba:"
#. TRANS: Client error.
msgid "No such group."
msgstr "Walang ganyang pangkat."
#. TRANS: Client error.
msgid "Cannot accept remote posts for a remote group."
msgstr ""
"Hindi matanggap ang malalayong mga paskil para sa isang malayong pangkat."
#. TRANS: Client error.
msgid "Cannot read profile to set up group membership."
msgstr "Hindi mabasa ang balangkas upang maihanda ang kasapian sa pangkat."
#. TRANS: Client error.
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "Hindi makakasali ang mga pangkat sa mga pangkat."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Hinaharangan ka ng tagapangasiwa mula sa pangkat na iyan."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
#, php-format
msgid "Could not join remote user %1$s to group %2$s."
msgstr "Hindi maisali ang malayong tagagamit na si %1$s sa pangkat na %2$s."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr ""
"Hindi mabasa ang balangkas upang huwag maituloy ang kasapian sa pangkat."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
#, php-format
msgid "Could not remove remote user %1$s from group %2$s."
msgstr ""
"Hindi matanggal ang malayong tagagamit na si %1$s mula sa pangkat na %2$s."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "Walang ganyang talaan."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr ""
"Hindi matanggap ang malalayong mga paskil para sa isang malayong talaan."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr ""
"Hindi mabasa ang balangkas upang maihanda ang tatak ng pagsapi sa pangkat."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "Ang mga pangkat ay hindi maaaring sumipi sa mga talaan."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "Hindi mapasipian ang malayong tagagamit na si %1$s sa talaang %2$s."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr "Hindi mabasa ang balangkas upang huwag ituloy ang kasapian sa talaan."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "Hindi mapasipian ang malayong tagagamit na si %1$s sa talaang %2$s."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "Maaari mong gamitin ang katutubong pagpapasipi!"
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Tumanggap ng sipi mula sa tagagamit"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Sumali sa pangkat na %s"
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Sumali"
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to list %1$s by %2$s"
msgstr "Magpasipi sa talaang %1$s ni %2$s"
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Pumayag na tumanggap ng sipi"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Tumanggap ng sipi mula sa %s"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Palayaw ng pangkat"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "Palayaw ng pangkat na nais mong salihan."
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Palayaw ng tagagamit na nais mong sundan."
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "ID ng akawnt mo (katulad ng user@identi.ca)."
#. TRANS: Client error.
msgid "Must provide a remote profile."
msgstr "Dapat na magbigay ng isang malayong balangkas."
#. TRANS: Client error.
msgid "No local user or group nickname provided."
msgstr "Walang ibinigay na palayaw ng katutubong tagagamit o pangkat."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "Ugnay sa OStatus"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr ""
"Tinatangkang simulan ang pagpapasipi ng PuSH para sa pasubo na walang "
"sindirit."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr ""
"Tinatangkang wakasan ang pagpapasipi ng PuSH para sa pasubo na walang "
"sindirit."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"Hindi katanggap-tanggap na katayuan ng ostatus_profile: dalawa o mahigit "
"pang mga ID ang nakatakda para sa %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr ""
"Hindi katanggap-tanggap na katayuan ng ostatus_profile: lahat ng mga ID ay "
"walang laman ang mga ID ng para sa %s."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
#, php-format
msgid "Invalid actor passed to %1$s: %2$s."
msgstr "Ipinasa ang hindi katanggap-tanggap na tagagalaw sa %1$s: %2$s."
#. TRANS: Server exception.
msgid ""
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
"Activity entry."
msgstr ""
"Ipinasa ang hindi katanggap-tanggap na uri sa Ostatus_profile::ipabatid. "
"Dapat itong isang sinulid ng XML o pagpapasok ng Gawain."
#. TRANS: Exception.
msgid "Unknown feed format."
msgstr "Hindi nalalamang anyo ng pasubo."
#. TRANS: Exception.
msgid "RSS feed without a channel."
msgstr "Pasubong RSS na walang libuyan."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
msgstr "Walang nilalaman para sa pabatid na %s."
#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
msgid "Show more"
msgstr "Magpakita ng marami pa"
#. TRANS: Exception. %s is a profile URL.
#, php-format
msgid "Could not reach profile page %s."
msgstr "Hindi maabot ang pahina ng balangkas na %s."
#. TRANS: Exception. %s is a URL.
#, php-format
msgid "Could not find a feed URL for profile page %s."
msgstr ""
"Hindi makahanap ng isang URL ng pasubo para sa pahina ng balangkas na %s."
#. TRANS: Feed sub exception.
msgid "Cannot find enough profile information to make a feed."
msgstr ""
"Hindi makahanap ng sapat na kabatiran ng balangkas upang makagawa ng isang "
"pasubo."
#. TRANS: Server exception. %s is a URL.
#, php-format
msgid "Invalid avatar URL %s."
msgstr "Hindi katanggap-tanggap na URL ng abatar ang %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Tried to update avatar for unsaved remote profile %s."
msgstr ""
"Sinubok na isapanahon ang huwaran para sa hindi nasagip na malayong "
"balangkas na %s."
#. TRANS: Server exception. %s is a URL.
#, php-format
msgid "Unable to fetch avatar from %s."
msgstr "Hindi nagawang damputin ang huwaran mula sa %s."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "Walang natagpuang URI ng ID ng may-akda."
#. TRANS: Exception.
msgid "No profile URI."
msgstr "Walang URI ng balangkas."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr "Hindi masanggunian bilang malayo ang katutubong tagagamit."
#. TRANS: Exception.
msgid "Local group cannot be referenced as remote."
msgstr "Hindi masanggunian bilang malayo ang katutubong pangkat."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr "Hindi masanggunian bilang malayo ang katutubong talaan."
#. TRANS: Server exception.
msgid "Cannot save local profile."
msgstr "Hindi masagip ang katutubong balangkas."
#. TRANS: Server exception.
msgid "Cannot save local list."
msgstr "Hindi masagip ang katutubong talaan."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "Hindi masagip ang balangkas ng OStatus."
#. TRANS: Exception.
msgid "Not a valid webfinger address."
msgstr "Hindi isang katanggap-tanggap na tirahan ng daliri ng web."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Could not save profile for \"%s\"."
msgstr "Hindi masagip ang balangkas para sa \"%s\"."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Hindi masagip ang balangkas ng Ostatus para sa \"%s\"."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Could not find a valid profile for \"%s\"."
msgstr ""
"Hindi makahanap ng isang katanggap-tanggap na balangkas para sa \"%s\"."
#. TRANS: Server exception.
msgid "Could not store HTML content of long post as file."
msgstr ""
"Hindi maimbak bilang talaksan ang nilalaman ng HTML ng mahabang pagpapaskil."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "Hindi nakikilalang protokol ng URI para sa balangkas na: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Walang protokol ng URI para sa balangkas na: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
msgstr "Nagbalik ng HTTP na %s ang pagpapatunay ng tagapagsipi ng sindirit."
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
#, php-format
msgid "Callback returned status: %1$s. Body: %2$s"
msgstr "Nagbalik ang pabalik-tawag ng katayuang: %1$s. Katawan: %2$s"
#. TRANS: Exception.
msgid "Unable to locate signer public key."
msgstr "Hindi nagawang matagpuan ang pangmadlang susi ng lumagda."
#. TRANS: Exception.
msgid "Salmon invalid actor for signing."
msgstr "Hindi katanggap-tanggap na tagagalaw ng salmon para sa paglagda."
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
msgid "This method requires a POST."
msgstr "Ang pamamaraang ito ay nangangailangan ng isang PASKIL."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Ang salmon ay nangangailangan ng \"application/magic-envelope+xml\"."
#. TRANS: Client error.
msgid "Salmon signature verification failed."
msgstr "Nabigo ang pagpapatunay ng lagda ng salmon."
#. TRANS: Client error.
msgid "Salmon post must be an Atom entry."
msgstr "Dapat na isang pagpapasok ng Atom ang paskil ng salmon."
#. TRANS: Client exception.
msgid "Unrecognized activity type."
msgstr "Hindi nakikilalang uri ng gawain."
#. TRANS: Client exception.
msgid "This target does not understand posts."
msgstr "Ang pinupukol na ito ay hindi nakakaunawa ng mga paskil."
#. TRANS: Client exception.
msgid "This target does not understand follows."
msgstr "Ang pinupukol na ito ay hindi nakakaunawa ng mga sumusunod."
#. TRANS: Client exception.
msgid "This target does not understand unfollows."
msgstr "Ang pinupukol na ito ay hindi nakakaunawa ng mga hindi pagpapasunod."
#. TRANS: Client exception.
msgid "This target does not understand favorites."
msgstr "Ang pinupukol na ito ay hindi nakakaunawa ng mga kinagigiliwan."
#. TRANS: Client exception.
msgid "This target does not understand unfavorites."
msgstr ""
"Ang pinupukol na ito ay hindi nakakaunawa ng mga hindi na kinagigiliwan."
#. TRANS: Client exception.
msgid "This target does not understand share events."
msgstr ""
"Ang pinupukol na ito ay hindi nakakaunawa ng mga kaganapan ng pagbabahagi."
#. TRANS: Client exception.
msgid "This target does not understand joins."
msgstr "Ang pinupukol na ito ay hindi nakakaunawa ng mga pagsali."
#. TRANS: Client exception.
msgid "This target does not understand leave events."
msgstr ""
"Ang pinupukol na ito ay hindi nakakaunawa ng mga kaganapan ng paglisan."
#. TRANS: Client exception.
msgid "This target does not understand tag events."
msgstr ""
"Ang pinupukol na ito ay hindi nakakaunawa ng mga kaganapan ng pagtatatak."
#. TRANS: Client exception.
msgid "This target does not understand untag events."
msgstr ""
"Ang pinupukol na ito ay hindi nakakaunawa ng mga kaganapan ng hindi "
"pagtatatak."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Tumanggap ng isang sampal ng salmon mula sa hindi nakikilalang aktor."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Tatak"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "Huwag tatakan"
#~ msgid "Disfavor"
#~ msgstr "Ayawan"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr ""
#~ "Minarkahan ni %1$s ang pabatid na %2$s bilang hindi na isang "
#~ "kinagigiliwan."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Tirahan ng tagagamit ng OStatus, katulad ng nickname@example.com o http://"
#~ "example.net/nickname"
#~ msgid "Continue"
#~ msgstr "Ipagpatuloy"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr ""
#~ "Hindi matanggal ang malayong tagagamit na si %1$s mula sa talaang %2$s."

View File

@@ -9,13 +9,13 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OStatus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-26 11:02+0000\n"
"PO-Revision-Date: 2011-03-26 11:06:53+0000\n"
"POT-Creation-Date: 2011-05-05 20:48+0000\n"
"PO-Revision-Date: 2011-05-05 20:50:45+0000\n"
"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:40+0000\n"
"X-Generator: MediaWiki 1.18alpha (r84791); Translate extension (2011-03-11)\n"
"X-POT-Import-Date: 2011-04-27 13:28:48+0000\n"
"X-Generator: MediaWiki 1.18alpha (r87509); Translate extension (2011-04-26)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -25,24 +25,59 @@ msgstr ""
msgid "Feeds"
msgstr "Веб-стрічки"
#. TRANS: Link description for link to subscribe to a remote user.
#. TRANS: Link to subscribe to a remote entity.
#. TRANS: Link text for a user to subscribe to an OStatus user.
msgid "Subscribe"
msgstr "Підписатись"
#. TRANS: Link description for link to join a remote group.
msgid "Join"
msgstr "Приєднатися"
#. TRANS: Fieldset legend.
msgid "Tag remote profile"
msgstr "Позначити віддалений профіль."
#. TRANSLATE: %s is a domain.
#. TRANS: Field label.
msgctxt "LABEL"
msgid "Remote profile"
msgstr "Віддалений профіль"
#. TRANS: Field title.
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname."
msgstr ""
"OStatus-адреса користувача, щось на зразок nickname@example.com або http://"
"example.net/nickname"
#. TRANS: Button text to fetch remote profile.
msgctxt "BUTTON"
msgid "Fetch"
msgstr "Вивести"
#. TRANS: Exception in OStatus when invalid URI was entered.
msgid "Invalid URI."
msgstr "Неправильний URI."
#. TRANS: Error message in OStatus plugin.
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Вибачайте, але ми в змозі розшукати дану адресу. Будь ласка, переконайтеся, "
"що адресу зазначено згідно правил протоколу OStatus, щось на зразок "
"nickname@example.com або ж http://example.net/nickname."
#. TRANS: Title. %s is a domain name.
#, php-format
msgid "Sent from %s via OStatus"
msgstr "Надіслано з %s через OStatus"
#. TRANS: Exception.
#. TRANS: Exception thrown when setup of remote subscription fails.
msgid "Could not set up remote subscription."
msgstr "Не вдалося створити віддалену підписку."
#. TRANS: Title for unfollowing a remote profile.
msgctxt "TITLE"
msgid "Unfollow"
msgstr "Не читати"
@@ -52,19 +87,27 @@ msgstr "Не читати"
msgid "%1$s stopped following %2$s."
msgstr "%1$s припинив читати ваші дописи %2$s."
#. TRANS: Exception thrown when setup of remote group membership fails.
msgid "Could not set up remote group membership."
msgstr "Не вдалося приєднатися до віддаленої спільноти."
#. TRANS: Title for joining a remote groep.
msgctxt "TITLE"
msgid "Join"
msgstr "Приєднатися"
#. TRANS: Success message for subscribe to group attempt through OStatus.
#. TRANS: %1$s is the member name, %2$s is the subscribed group's name.
#, php-format
msgid "%1$s has joined group %2$s."
msgstr "%1$s приєднався до спільноти %2$s."
#. TRANS: Exception.
#. TRANS: Exception thrown when joining a remote group fails.
msgid "Failed joining remote group."
msgstr "Помилка приєднання до віддаленої спільноти."
#. TRANS: Title for leaving a remote group.
msgctxt "TITLE"
msgid "Leave"
msgstr "Залишити"
@@ -74,14 +117,76 @@ msgstr "Залишити"
msgid "%1$s has left group %2$s."
msgstr "%1$s залишив спільноту %2$s."
msgid "Disfavor"
msgstr "Не обраний"
#. TRANS: Exception thrown when setup of remote list subscription fails.
msgid "Could not set up remote list subscription."
msgstr "Не вдалося налаштувати підписку до віддаленого списку."
#. TRANS: Title for following a remote list.
msgctxt "TITLE"
msgid "Follow list"
msgstr "Слідкувати за списком"
#. TRANS: Success message for remote list follow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, fuzzy, php-format
msgid "%1$s is now following people listed in %2$s by %3$s."
msgstr "%1$s припинив слідкувати за списком %2$s користувача %3$s."
#. TRANS: Exception thrown when subscription to remote list fails.
msgid "Failed subscribing to remote list."
msgstr "Помилка підключення до віддаленого списку."
#. TRANS: Title for unfollowing a remote list.
msgid "Unfollow list"
msgstr "Не стежити за списком"
#. TRANS: Success message for remote list unfollow through OStatus.
#. TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
#, php-format
msgid "%1$s stopped following the list %2$s by %3$s."
msgstr "%1$s припинив слідкувати за списком %2$s користувача %3$s."
#. TRANS: Title for listing a remote profile.
msgctxt "TITLE"
msgid "List"
msgstr ""
#. TRANS: Success message for remote list addition through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the added list member, %3$s is the list name.
#, php-format
msgid "%1$s listed %2$s in the list %3$s."
msgstr "%1$s включив %2$s до списку %3$s."
#. TRANS: Exception thrown when subscribing to a remote list fails.
#, fuzzy, php-format
msgid ""
"Could not complete subscription to remote profile's feed. List %s could not "
"be saved."
msgstr ""
"Не вдається завершити підписку до каналу віддаленого профілю. Теґ %s "
"зберегти не вдалося."
#. TRANS: Title for unlisting a remote profile.
#, fuzzy
msgctxt "TITLE"
msgid "Unlist"
msgstr "Не стежити за списком"
#. TRANS: Success message for remote list removal through OStatus.
#. TRANS: %1$s is the list creator's name, %2$s is the removed list member, %3$s is the list name.
#, fuzzy, php-format
msgid "%1$s removed %2$s from the list %3$s."
msgstr "%1$s включив %2$s до списку %3$s."
#. TRANS: Title for unliking a remote notice.
msgid "Unlike"
msgstr ""
#. TRANS: Success message for remove a favorite notice through OStatus.
#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
#, php-format
msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr "%1$s позначив допис %2$s, як такий, що більше не є обраним."
#, fuzzy, php-format
msgid "%1$s no longer likes %2$s."
msgstr "%1$s припинив читати ваші дописи %2$s."
#. TRANS: Link text for link to remote subscribe.
msgid "Remote"
@@ -97,6 +202,10 @@ msgstr "Оновлення профілю"
msgid "%s has updated their profile page."
msgstr "%s оновив сторінку свого профілю."
#. TRANS: Link text for a user to tag an OStatus user.
msgid "Tag"
msgstr "Теґ"
#. TRANS: Plugin description.
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
@@ -123,32 +232,37 @@ msgstr ""
"hub.topic %s не підтримується. Цей вузол використовується лише тутешніми "
"користувачами та групою веб-стрічок у форматі Atom."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is sync or async.
#, php-format
msgid "Invalid hub.verify \"%s\". It must be sync or async."
msgstr "hub.verify «%s» невірний. Він має бути синхронним або ж асинхронним."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid lease value.
#, php-format
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
msgstr ""
"hub.lease «%s» невірний. Він має бути порожнім або містити ціле позитивне "
"число."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is the invalid hub secret.
#, php-format
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
msgstr "hub.secret «%s» невірний. 200 байтів — не більше."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". User doesn't exist."
msgstr "hub.topic «%s» невірний. Користувача не існує."
msgid "Invalid hub.topic \"%s\". User does not exist."
msgstr "Невірний hub.topic «%s». Користувача не існує."
#. TRANS: Client exception.
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
msgstr "hub.topic «%s» невірний. Спільноти не існує."
msgid "Invalid hub.topic \"%s\". Group does not exist."
msgstr "Невірний hub.topic «%s». Спільноти не існує."
#. TRANS: Client exception. %s is a feed URL.
#, php-format
msgid "Invalid hub.topic %s; list does not exist."
msgstr "Невірний hub.topic «%s». Список не існує."
#. TRANS: Client exception.
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
@@ -156,6 +270,54 @@ msgstr "hub.topic «%s» невірний. Спільноти не існує."
msgid "Invalid URL passed for %1$s: \"%2$s\""
msgstr "Для %1$s передано невірний URL: «%2$s»"
#. TRANS: Client error displayed when trying to tag a local object as if it is remote.
msgid "You can use the local tagging!"
msgstr "Ви можете користуватись локальними теґами!"
#. TRANS: Header for tagging a remote object. %s is a remote object's name.
#, php-format
msgid "Tag %s"
msgstr "Теґ %s"
#. TRANS: Button text to tag a remote object.
#, fuzzy
msgctxt "BUTTON"
msgid "Go"
msgstr "Перейти"
#. TRANS: Field label.
msgid "User nickname"
msgstr "Ім’я користувача"
#. TRANS: Field title.
#, fuzzy
msgid "Nickname of the user you want to tag."
msgstr "Ім’я користувача, якого ви хотіли б позначити теґом."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Профіль акаунту"
#. TRANS: Field title.
#, fuzzy
msgid "Your account id (i.e. user@identi.ca)."
msgstr "Ідентифікатор вашого акаунту (щось на зразок user@identi.ca)"
#. TRANS: Client error displayed when remote profile could not be looked up.
#. TRANS: Client error.
msgid "Could not look up OStatus account profile."
msgstr "Не вдалося знайти профіль OStatus-акаунту."
#. TRANS: Client error displayed when remote profile address could not be confirmed.
#. TRANS: Client error.
msgid "Could not confirm remote profile address."
msgstr "Не вдалося підтвердити адресу віддаленого профілю."
#. TRANS: Title for an OStatus list.
msgid "OStatus list"
msgstr "Список OStatus"
#. TRANS: Server exception thrown when referring to a non-existing or empty feed.
msgid "Empty or invalid feed id."
msgstr "Порожній або недійсний ідентифікатор веб-стрічки."
@@ -184,6 +346,8 @@ msgstr "Несподіваний запит підписки для %s."
msgid "Unexpected unsubscribe request for %s."
msgstr "Несподіваний запит щодо скасування підписки для %s."
#. TRANS: Client error displayed when referring to a non-existing user.
#. TRANS: Client error.
msgid "No such user."
msgstr "Такого користувача немає."
@@ -191,20 +355,16 @@ msgstr "Такого користувача немає."
msgid "Subscribe to"
msgstr "Підписатися"
#. TRANS: Tooltip for field label "Subscribe to".
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
"Адреса користувача згідно протоколу OStatus, щось на зразок nickname@example."
"com або http://example.net/nickname"
#. TRANS: Button text.
#. TRANS: Button text to continue joining a remote list.
msgctxt "BUTTON"
msgid "Continue"
msgstr "Продовжити"
#. TRANS: Button text.
msgid "Join"
msgstr "Приєднатися"
#. TRANS: Tooltip for button "Join".
msgctxt "BUTTON"
msgid "Join this group"
@@ -222,15 +382,6 @@ msgstr "Підписатись до цього користувача"
msgid "You are already subscribed to this user."
msgstr "Ви вже підписані до цього користувача."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
"Вибачайте, але ми в змозі розшукати дану адресу. Будь ласка, переконайтеся, "
"що адресу зазначено згідно правил протоколу OStatus, щось на зразок "
"nickname@example.com або ж http://example.net/nickname."
#. TRANS: Error text.
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
@@ -240,6 +391,7 @@ msgstr ""
"дану адресу ще раз пізніше."
#. TRANS: OStatus remote subscription dialog error.
#. TRANS: OStatus remote group subscription dialog error.
msgid "Already subscribed!"
msgstr "Вже підписаний!"
@@ -247,6 +399,7 @@ msgstr "Вже підписаний!"
msgid "Remote subscription failed!"
msgstr "Підписатися віддалено не вдалося!"
#. TRANS: Client error displayed when the session token does not match or is not given.
msgid "There was a problem with your session token. Try again, please."
msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
@@ -254,7 +407,7 @@ msgstr "Виникли певні проблеми з токеном сесії.
msgid "Subscribe to user"
msgstr "Підписатися до користувача"
#. TRANS: Page title for OStatus remote subscription form
#. TRANS: Page title for OStatus remote subscription form.
msgid "Confirm"
msgstr "Підтвердити"
@@ -276,6 +429,7 @@ msgstr ""
"Адреса спільноти згідно протоколу OStatus, наприклад http://example.net/"
"group/nickname."
#. TRANS: Error text displayed when trying to join a remote group the user is already a member of.
msgid "You are already a member of this group."
msgstr "Ви вже є учасником цієї спільноти."
@@ -291,7 +445,7 @@ msgstr "Приєднатися до віддаленої спільноти не
msgid "Confirm joining remote group"
msgstr "Підтвердження приєднання до віддаленої спільноти"
#. TRANS: Instructions.
#. TRANS: Form instructions.
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
@@ -299,10 +453,17 @@ msgstr ""
"Ви можете долучатися до спільнот на аналогічних сайтах. Просто вставте URI "
"профілю спільноти тут:"
#. TRANS: Client error displayed trying to perform an action without providing an ID.
#. TRANS: Client error.
#. TRANS: Client error displayed trying to perform an action without providing an ID.
msgid "No ID."
msgstr "Немає ідентифікатора."
#. TRANS: Client exception thrown when an undefied activity is performed.
#. TRANS: Client exception.
msgid "Cannot handle that kind of post."
msgstr "Не вдається обробити такий тип допису."
#. TRANS: Client exception.
msgid "In reply to unknown notice."
msgstr "У відповідь на невідомий допис."
@@ -313,20 +474,65 @@ msgstr ""
"У відповідь на допис іншого користувача, а даний користувач у ньому навіть "
"не згадується."
#. TRANS: Client exception.
msgid "To the attention of user(s), not including this one."
msgstr ""
#. TRANS: Client exception.
msgid "Not to anyone in reply to anything."
msgstr ""
#. TRANS: Client exception.
msgid "This is already a favorite."
msgstr "Цей допис вже є обраним."
#. TRANS: Client exception.
msgid "Could not save new favorite."
msgstr "Не вдалося зберегти як новий обраний допис."
#. TRANS: Client exception.
msgid "Can't favorite/unfavorite without an object."
msgid "Notice was not favorited!"
msgstr "Допис не було додано до списку обраних!"
#. TRANS: Client exception.
msgid "Not a person object."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being tagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be saved."
msgstr ""
#. TRANS: Client exception.
msgid "Unidentified profile being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "This user is not the one being untagged."
msgstr ""
#. TRANS: Client exception.
msgid "The tag could not be deleted."
msgstr ""
#. TRANS: Client exception.
msgid "Cannot favorite/unfavorite without an object."
msgstr ""
"Неможливо додати до обраних або видалити зі списку обраних, якщо немає "
"об’єкта."
#. TRANS: Client exception.
msgid "Can't handle that kind of object for liking/faving."
msgid "Cannot handle that kind of object for liking/faving."
msgstr ""
"Не вдається обробити подібний об’єкт для додавання його до списку обраних."
"Не вдається обробити подібний об’єкт для додавання його до списку обраних "
"або вилучення з цього списку."
#. TRANS: Client exception. %s is an object ID.
#, php-format
@@ -338,22 +544,50 @@ msgstr "Допис з ідентифікатором %s є невідомим."
msgid "Notice with ID %1$s not posted by %2$s."
msgstr "Допис з ідентифікатором %1$s було надіслано не %2$s."
#. TRANS: Field label.
msgid "Subscribe to list"
msgstr "Підписатися до списку"
#. TRANS: Field title.
#, fuzzy
msgid "Address of the OStatus list, like http://example.net/user/all/tag."
msgstr "Адреса списку OStatus, наприклад: http://example.net/user/all/tag"
#. TRANS: Error text displayed when trying to subscribe to a list already a subscriber to.
msgid "You are already subscribed to this list."
msgstr "Ви вже підписані до цього списку."
#. TRANS: Page title for OStatus remote list subscription form
msgid "Confirm subscription to remote list"
msgstr "Підтвердження підписки до віддаленого списку"
#. TRANS: Instructions for OStatus list subscription form.
#, fuzzy
msgid ""
"You can subscribe to lists from other supported sites. Paste the list's URI "
"below:"
msgstr ""
"Ви можете підписуватися до списків на аналогічних сайтах. Просто вставте URI "
"списку тут:"
#. TRANS: Client error.
msgid "No such group."
msgstr "Такої спільноти немає."
#. TRANS: Client error.
msgid "Can't accept remote posts for a remote group."
msgid "Cannot accept remote posts for a remote group."
msgstr "Не можу узгодити віддалену пересилку дописів до віддаленої спільноти."
#. TRANS: Client error.
msgid "Can't read profile to set up group membership."
msgid "Cannot read profile to set up group membership."
msgstr "Не можу прочитати профіль, аби долучитися до спільноти."
#. TRANS: Client error.
msgid "Groups can't join groups."
msgstr "Спільноти ніяк не можуть приєднуватися до спільнот."
#. TRANS: Client error displayed when trying to have a group join another group.
msgid "Groups cannot join groups."
msgstr "Спільноти не можуть приєднуватися до спільнот."
#. TRANS: Client error displayed when trying to join a group the user is blocked from by a group admin.
msgid "You have been blocked from that group by the admin."
msgstr "Адміністратор спільноти заблокував ваш профіль."
@@ -363,9 +597,11 @@ msgid "Could not join remote user %1$s to group %2$s."
msgstr ""
"Віддаленому користувачеві %1$s не вдалося долучитися до спільноти %2$s."
msgid "Can't read profile to cancel group membership."
#. TRANS: Client error displayed when group membership cannot be cancelled
#. TRANS: because the remote profile could not be read.
msgid "Cannot read profile to cancel group membership."
msgstr ""
"Не вдається прочитати профіль користувача, щоб скасувати його перебування у "
"Не вдається прочитати профіль користувача, щоб скасувати його участь у "
"спільноті."
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
@@ -373,90 +609,129 @@ msgstr ""
msgid "Could not remove remote user %1$s from group %2$s."
msgstr "Не вдалось видалити віддаленого користувача %1$s зі спільноти %2$s."
#. TRANS: Client error displayed when referring to a non-existing list.
#. TRANS: Client error.
msgid "No such list."
msgstr "Такого списку немає."
#. TRANS: Client error displayed when trying to send a message to a remote list.
msgid "Cannot accept remote posts for a remote list."
msgstr "Не можу узгодити віддалену пересилку дописів для віддаленого списку."
#. TRANS: Client error displayed when referring to a non-existing remote list.
#, fuzzy
msgid "Cannot read profile to set up list subscription."
msgstr "Не можу прочитати профіль, аби налаштувати підписку до теґу."
#. TRANS: Client error displayed when trying to subscribe a group to a list.
#. TRANS: Client error displayed when trying to unsubscribe a group from a list.
msgid "Groups cannot subscribe to lists."
msgstr "Спільноти не можуть підписуватись до списків."
#. TRANS: Server error displayed when subscribing a remote user to a list fails.
#. TRANS: %1$s is a profile URI, %2$s is a list name.
#, php-format
msgid "Could not subscribe remote user %1$s to list %2$s."
msgstr "Не можу підписати віддаленого користувача %1$s до списку %2$s."
#. TRANS: Client error displayed when trying to unsubscribe from non-existing list.
#, fuzzy
msgid "Cannot read profile to cancel list subscription."
msgstr ""
"Не вдається прочитати профіль користувача, щоб виключити його зі списку."
#. TRANS: Client error displayed when trying to unsubscribe a remote user from a list fails.
#. TRANS: %1$s is a profile URL, %2$s is a list name.
#, fuzzy, php-format
msgid "Could not unsubscribe remote user %1$s from list %2$s."
msgstr "Не можу підписати віддаленого користувача %1$s до списку %2$s."
#. TRANS: Client error.
msgid "You can use the local subscription!"
msgstr "Ви можете користуватись локальними підписками!"
#. TRANS: Form legend.
#. TRANS: Form title.
msgctxt "TITLE"
msgid "Subscribe to user"
msgstr "Підписатися до користувача"
#. TRANS: Form legend. %s is a group name.
#, php-format
msgid "Join group %s"
msgstr "Приєднатися до спільноти %s"
#. TRANS: Button text.
#. TRANS: Button text to join a group.
msgctxt "BUTTON"
msgid "Join"
msgstr "Приєднатися"
#. TRANS: Form legend.
#. TRANS: Form legend. %1$s is a list, %2$s is a tagger's name.
#, php-format
msgid "Subscribe to %s"
msgstr "Підписатися до %s"
msgid "Subscribe to list %1$s by %2$s"
msgstr "Підписатися до списку %1$s користувача %2$s"
#. TRANS: Button text.
#. TRANS: Button text to subscribe to a list.
#. TRANS: Button text to subscribe to a profile.
msgctxt "BUTTON"
msgid "Subscribe"
msgstr "Підписатись"
#. TRANS: Form legend. %s is a nickname.
#, php-format
msgid "Subscribe to %s"
msgstr "Підписатися до %s"
#. TRANS: Field label.
msgid "Group nickname"
msgstr "Назва спільноти"
#. TRANS: Field title.
msgid "Nickname of the group you want to join."
msgstr "Назва спільноти, до якої ви хотіли б приєднатися."
#. TRANS: Field label.
msgid "User nickname"
msgstr "Ім’я користувача"
#. TRANS: Field title.
msgid "Nickname of the user you want to follow."
msgstr "Ім’я користувача, дописи якого ви хотіли б читати."
#. TRANS: Field label.
msgid "Profile Account"
msgstr "Профіль акаунту"
#. TRANS: Tooltip for field label "Profile Account".
msgid "Your account id (e.g. user@identi.ca)."
msgstr "Ідентифікатор вашого акаунту (щось на зразок user@identi.ca)"
msgid "Your account ID (e.g. user@identi.ca)."
msgstr "Ідентифікатор вашого акаунту (щось на зразок user@identi.ca)."
#. TRANS: Client error.
msgid "Must provide a remote profile."
msgstr "Мусите зазначити віддалений профіль."
#. TRANS: Client error.
msgid "Couldn't look up OStatus account profile."
msgstr "Не вдалося знайти профіль акаунту за протоколом OStatus."
#. TRANS: Client error.
msgid "Couldn't confirm remote profile address."
msgstr "Не вдалося підтвердити адресу віддаленого профілю."
msgid "No local user or group nickname provided."
msgstr "Не зазначено псевдоніму ані локального користувача ані спільноти."
#. TRANS: Page title.
msgid "OStatus Connect"
msgstr "З’єднання OStatus"
#. TRANS: Server exception.
msgid "Attempting to start PuSH subscription for feed with no hub."
msgstr ""
"Спроба підписатися за допомогою PuSH до веб-стрічки, котра не має вузла."
#. TRANS: Server exception.
msgid "Attempting to end PuSH subscription for feed with no hub."
msgstr ""
"Спроба скасувати підписку за допомогою PuSH до веб-стрічки, котра не має "
"вузла."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: Two or more IDs set for %s."
msgstr ""
"Невірний стан параметру ostatus_profile: як групові, так і персональні "
"ідентифікатори встановлено для %s."
"Невірний стан параметру ostatus_profile: два або більше ідентифікатори "
"встановлено для %s."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
#. TRANS: Server exception. %s is a URI
#, fuzzy, php-format
msgid "Invalid ostatus_profile state: All IDs empty for %s."
msgstr ""
"Невірний стан параметру ostatus_profile: як групові, так і персональні "
"ідентифікатори порожні для %s."
"Невірний стан параметру ostatus_profile: всі ідентифікатори порожні для %s."
#. TRANS: Server exception.
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
@@ -480,10 +755,6 @@ msgstr "Невідомий формат веб-стрічки."
msgid "RSS feed without a channel."
msgstr "RSS-стрічка не має каналу."
#. TRANS: Client exception.
msgid "Can't handle that kind of post."
msgstr "Не вдається обробити такий тип допису."
#. TRANS: Client exception. %s is a source URI.
#, php-format
msgid "No content for notice %s."
@@ -505,7 +776,7 @@ msgid "Could not find a feed URL for profile page %s."
msgstr "Не вдалося знайти URL веб-стрічки для сторінки профілю %s."
#. TRANS: Feed sub exception.
msgid "Can't find enough profile information to make a feed."
msgid "Cannot find enough profile information to make a feed."
msgstr ""
"Не можу знайти достатньо інформації про профіль, аби сформувати веб-стрічку."
@@ -524,20 +795,36 @@ msgstr "Намагаюся оновити аватару для не збере
msgid "Unable to fetch avatar from %s."
msgstr "Неможливо завантажити аватару з %s."
#. TRANS: Server exception.
msgid "No author ID URI found."
msgstr "Не знайдено URI ідентифікатора автора."
#. TRANS: Exception.
msgid "Local user can't be referenced as remote."
msgid "No profile URI."
msgstr "Немає URI профілю."
#. TRANS: Exception.
msgid "Local user cannot be referenced as remote."
msgstr "Місцевий користувач не може бути зазначеним у якості віддаленого."
#. TRANS: Exception.
msgid "Local group can't be referenced as remote."
msgid "Local group cannot be referenced as remote."
msgstr "Локальну спільноту не можна зазначити у якості віддаленої."
#. TRANS: Exception.
msgid "Local list cannot be referenced as remote."
msgstr "Місцевий список не може бути зазначений у якості віддаленого."
#. TRANS: Server exception.
msgid "Can't save local profile."
msgid "Cannot save local profile."
msgstr "Не вдається зберегти місцевий профіль."
#. TRANS: Server exception.
msgid "Can't save OStatus profile."
msgid "Cannot save local list."
msgstr "Не вдається зберегти місцевий список."
#. TRANS: Server exception.
msgid "Cannot save OStatus profile."
msgstr "Не вдається зберегти профіль OStatus."
#. TRANS: Exception.
@@ -546,23 +833,34 @@ msgstr "Це недійсна адреса для протоколу WebFinger."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save profile for \"%s\"."
msgid "Could not save profile for \"%s\"."
msgstr "Не можу зберегти профіль для «%s»."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't save ostatus_profile for \"%s\"."
msgid "Could not save OStatus profile for \"%s\"."
msgstr "Не можу зберегти профіль OStatus для «%s»."
#. TRANS: Exception. %s is a webfinger address.
#, php-format
msgid "Couldn't find a valid profile for \"%s\"."
msgstr "не можу знайти відповідний й профіль для «%s»."
msgid "Could not find a valid profile for \"%s\"."
msgstr "Не можу знайти відповідний й профіль для «%s»."
#. TRANS: Server exception.
msgid "Could not store HTML content of long post as file."
msgstr "Не можу зберегти HTML місткого допису у якості файлу."
#. TRANS: Server exception.
#. TRANS: %1$s is a protocol, %2$s is a URI.
#, php-format
msgid "Unrecognized URI protocol for profile: %1$s (%2$s)."
msgstr "Нерозпізнаний URI протоколу для профілю: %1$s (%2$s)."
#. TRANS: Server exception. %s is a URI.
#, php-format
msgid "No URI protocol for profile: %s."
msgstr "Немає URI протоколу для профілю: %s."
#. TRANS: Client exception. %s is a HTTP status code.
#, php-format
msgid "Hub subscriber verification returned HTTP %s."
@@ -585,7 +883,7 @@ msgstr "Недійсний учасник подій за протоколом S
msgid "This method requires a POST."
msgstr "Цей метод вимагає команди POST."
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
#. TRANS: Client error. Do not translate "application/magic-envelope+xml".
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr "Протокол Salmon вимагає \"application/magic-envelope+xml\"."
@@ -602,37 +900,72 @@ msgid "Unrecognized activity type."
msgstr "Невідомий тип діяльності."
#. TRANS: Client exception.
msgid "This target doesn't understand posts."
msgid "This target does not understand posts."
msgstr "Ціль не розуміє, що таке «дописи»."
#. TRANS: Client exception.
msgid "This target doesn't understand follows."
msgid "This target does not understand follows."
msgstr "Ціль не розуміє, що таке «слідувати»."
#. TRANS: Client exception.
msgid "This target doesn't understand unfollows."
msgid "This target does not understand unfollows."
msgstr "Ціль не розуміє, що таке «не слідувати»."
#. TRANS: Client exception.
msgid "This target doesn't understand favorites."
msgid "This target does not understand favorites."
msgstr "Ціль не розуміє, що таке «додати до обраних»."
#. TRANS: Client exception.
msgid "This target doesn't understand unfavorites."
msgid "This target does not understand unfavorites."
msgstr "Ціль не розуміє, що таке «вилучити з обраних»."
#. TRANS: Client exception.
msgid "This target doesn't understand share events."
msgid "This target does not understand share events."
msgstr "Ціль не розуміє, що таке «поділитися подією»."
#. TRANS: Client exception.
msgid "This target doesn't understand joins."
msgid "This target does not understand joins."
msgstr "Ціль не розуміє, що таке «приєднатися»."
#. TRANS: Client exception.
msgid "This target doesn't understand leave events."
msgid "This target does not understand leave events."
msgstr "Ціль не розуміє, що таке «залишати подію»."
#. TRANS: Client exception.
msgid "This target does not understand tag events."
msgstr "!Ціль не розуміє, що таке «позначити подію»."
#. TRANS: Client exception.
msgid "This target does not understand untag events."
msgstr "Ціль не розуміє, що таке «зняти теґ з події»."
#. TRANS: Exception.
msgid "Received a salmon slap from unidentified actor."
msgstr "Отримано ляпаса від невизначеного учасника за протоколом Salmon."
#~ msgctxt "TITLE"
#~ msgid "Tag"
#~ msgstr "Теґ"
#~ msgctxt "TITLE"
#~ msgid "Untag"
#~ msgstr "Зняти теґ"
#~ msgid "Disfavor"
#~ msgstr "Не обраний"
#~ msgid "%1$s marked notice %2$s as no longer a favorite."
#~ msgstr "%1$s позначив допис %2$s, як такий, що більше не є обраним."
#~ msgid ""
#~ "OStatus user's address, like nickname@example.com or http://example.net/"
#~ "nickname"
#~ msgstr ""
#~ "Адреса користувача згідно протоколу OStatus, щось на зразок "
#~ "nickname@example.com або http://example.net/nickname"
#~ msgid "Continue"
#~ msgstr "Продовжити"
#~ msgid "Could not remove remote user %1$s from list %2$s."
#~ msgstr "Не вдалось виклюсити віддаленого користувача %1$s зі списку %2$s."

View File

@@ -20,11 +20,17 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
$longoptions = array('unsub');
$shortoptions = 'u';
$helptext = <<<END_OF_HELP
resub-feed.php [options] http://example.com/atom-feed-url
Reinitialize the PuSH subscription for the given feed. This may help get
things restarted if we and the hub have gotten our states out of sync.
Options:
-u --unsub Unsubscribe instead of subscribing.
END_OF_HELP;
@@ -48,8 +54,14 @@ print "Old state:\n";
showSub($sub);
print "\n";
print "Pinging hub $sub->huburi with new subscription for $sub->uri\n";
$ok = $sub->subscribe();
if (have_option('u') || have_option('--unsub')) {
print "Pinging hub $sub->huburi with unsubscription for $sub->uri\n";
$ok = $sub->unsubscribe();
} else {
print "Pinging hub $sub->huburi with new subscription for $sub->uri\n";
$ok = $sub->subscribe();
}
if ($ok) {
print "ok\n";

View File

@@ -0,0 +1,83 @@
#!/usr/bin/env php
<?php
/*
* StatusNet - a distributed open-source microblogging tool
* Copyright (C) 2010 StatusNet, Inc.
*
* This program 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.
*
* 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.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Run this from INSTALLDIR/plugins/OStatus/scripts
*/
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
$shortoptions = 'd';
$longoptions = array('dry-run');
$helptext = <<<END_OF_HELP
rm_bad_feedsubs.php [options]
Deletes feedsub records that are in the inconsistent state of "subscribe"
and are older than one hour. If the hub hasn't answered back in an hour
the hub is probably either broken or doesn't exist.'
Options:
-d --dry-run look but don't mess with it
END_OF_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
$dry = false;
if (have_option('d') || have_option('dry-run')) {
$dry = true;
}
echo "Looking for feed subscriptions with dirty no good huburis...\n";
$feedsub = new FeedSub();
$feedsub->sub_state = 'subscribe';
$feedsub->whereAdd('created < DATE_SUB(NOW(), INTERVAL 1 HOUR)');
$feedsub->find();
$cnt = 0;
while ($feedsub->fetch()) {
echo "----------------------------------------------------------------------------------------\n";
echo ' feed: '
. $feedsub->uri . "\n"
. ' hub uri: '
. $feedsub->huburi ."\n"
. ' subscribe date: '
. date('r', strtotime($feedsub->created)) . "\n";
if (!$dry) {
$feedsub->delete();
echo " (DELETED)\n";
} else {
echo " (WOULD BE DELETED)\n";
}
echo "----------------------------------------------------------------------------------------\n";
$cnt++;
}
if ($cnt == 0) {
echo "None found.\n";
} else {
echo "Deleted $cnt bogus hub URIs.\n";
}
echo "Done.\n";