forked from GNUsocial/gnu-social
Merge branch '1.0.x' of git://gitorious.org/statusnet/mainline
Conflicts: lib/action.php plugins/OStatus/actions/ostatusinit.php
This commit is contained in:
@@ -22,7 +22,9 @@
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/');
|
||||
|
||||
@@ -50,10 +52,6 @@ class OStatusPlugin extends Plugin
|
||||
function onRouterInitialized($m)
|
||||
{
|
||||
// Discovery actions
|
||||
$m->connect('.well-known/host-meta',
|
||||
array('action' => 'hostmeta'));
|
||||
$m->connect('main/xrd',
|
||||
array('action' => 'userxrd'));
|
||||
$m->connect('main/ownerxrd',
|
||||
array('action' => 'ownerxrd'));
|
||||
$m->connect('main/ostatus',
|
||||
@@ -223,6 +221,7 @@ class OStatusPlugin extends Plugin
|
||||
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');
|
||||
@@ -241,23 +240,13 @@ class OStatusPlugin extends Plugin
|
||||
array('group' => $group->nickname));
|
||||
$output->element('a', array('href' => $url,
|
||||
'class' => 'entity_remote_subscribe'),
|
||||
// TRANS: Link description for link to join a remote group.
|
||||
_m('Join'));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we've got remote replies to send via Salmon.
|
||||
*
|
||||
* @fixme push webfinger lookup & sending to a background queue
|
||||
* @fixme also detect short-form name for remote subscribees where not ambiguous
|
||||
*/
|
||||
|
||||
function onEndNoticeSave($notice)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Find any explicit remote mentions. Accepted forms:
|
||||
* Webfinger: @user@example.com
|
||||
@@ -464,6 +453,7 @@ class OStatusPlugin extends Plugin
|
||||
}
|
||||
|
||||
$url = $notice->url;
|
||||
// TRANSLATE: %s is a domain.
|
||||
$title = sprintf(_m("Sent from %s via OStatus"), $domain);
|
||||
return false;
|
||||
}
|
||||
@@ -492,7 +482,7 @@ class OStatusPlugin extends Plugin
|
||||
* Tell the FeedSub infrastructure whether we have any active OStatus
|
||||
* usage for the feed; if not it'll be able to garbage-collect the
|
||||
* feed subscription.
|
||||
*
|
||||
*
|
||||
* @param FeedSub $feedsub
|
||||
* @param integer $count in/out
|
||||
* @return mixed hook return code
|
||||
@@ -535,6 +525,7 @@ class OStatusPlugin extends Plugin
|
||||
}
|
||||
|
||||
if (!$oprofile->subscribe()) {
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Could not set up remote subscription.'));
|
||||
}
|
||||
}
|
||||
@@ -564,23 +555,10 @@ class OStatusPlugin extends Plugin
|
||||
return true;
|
||||
}
|
||||
|
||||
$act = new Activity();
|
||||
$sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id,
|
||||
'subscribed' => $other->id));
|
||||
|
||||
$act->verb = ActivityVerb::FOLLOW;
|
||||
|
||||
$act->id = TagURI::mint('follow:%d:%d:%s',
|
||||
$subscriber->id,
|
||||
$other->id,
|
||||
common_date_iso8601(time()));
|
||||
|
||||
$act->time = time();
|
||||
$act->title = _("Follow");
|
||||
$act->content = sprintf(_("%s is now following %s."),
|
||||
$subscriber->getBestName(),
|
||||
$other->getBestName());
|
||||
|
||||
$act->actor = ActivityObject::fromProfile($subscriber);
|
||||
$act->object = ActivityObject::fromProfile($other);
|
||||
$act = $sub->asActivity();
|
||||
|
||||
$oprofile->notifyActivity($act, $subscriber);
|
||||
|
||||
@@ -622,8 +600,10 @@ class OStatusPlugin extends Plugin
|
||||
common_date_iso8601(time()));
|
||||
|
||||
$act->time = time();
|
||||
$act->title = _("Unfollow");
|
||||
$act->content = sprintf(_("%s stopped following %s."),
|
||||
$act->title = _m('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.'),
|
||||
$profile->getBestName(),
|
||||
$other->getBestName());
|
||||
|
||||
@@ -654,6 +634,9 @@ class OStatusPlugin extends Plugin
|
||||
throw new Exception(_m('Could not set up remote group membership.'));
|
||||
}
|
||||
|
||||
// NOTE: we don't use Group_member::asActivity() since that record
|
||||
// has not yet been created.
|
||||
|
||||
$member = Profile::staticGet($user->id);
|
||||
|
||||
$act = new Activity();
|
||||
@@ -668,7 +651,9 @@ class OStatusPlugin extends Plugin
|
||||
|
||||
$act->time = time();
|
||||
$act->title = _m("Join");
|
||||
$act->content = sprintf(_m("%s has joined group %s."),
|
||||
// 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.'),
|
||||
$member->getBestName(),
|
||||
$oprofile->getBestName());
|
||||
|
||||
@@ -676,6 +661,7 @@ class OStatusPlugin extends Plugin
|
||||
return true;
|
||||
} else {
|
||||
$oprofile->garbageCollect();
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m("Failed joining remote group."));
|
||||
}
|
||||
}
|
||||
@@ -717,7 +703,9 @@ class OStatusPlugin extends Plugin
|
||||
|
||||
$act->time = time();
|
||||
$act->title = _m("Leave");
|
||||
$act->content = sprintf(_m("%s has left group %s."),
|
||||
// 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.'),
|
||||
$member->getBestName(),
|
||||
$oprofile->getBestName());
|
||||
|
||||
@@ -732,7 +720,6 @@ class OStatusPlugin extends Plugin
|
||||
* @param Notice $notice being favored
|
||||
* @return hook return value
|
||||
*/
|
||||
|
||||
function onEndFavorNotice(Profile $profile, Notice $notice)
|
||||
{
|
||||
$user = User::staticGet('id', $profile->id);
|
||||
@@ -747,22 +734,15 @@ class OStatusPlugin extends Plugin
|
||||
return true;
|
||||
}
|
||||
|
||||
$act = new Activity();
|
||||
$fav = Fave::pkeyGet(array('user_id' => $user->id,
|
||||
'notice_id' => $notice->id));
|
||||
|
||||
$act->verb = ActivityVerb::FAVORITE;
|
||||
$act->id = TagURI::mint('favor:%d:%d:%s',
|
||||
$profile->id,
|
||||
$notice->id,
|
||||
common_date_iso8601(time()));
|
||||
if (empty($fav)) {
|
||||
// That's weird.
|
||||
return true;
|
||||
}
|
||||
|
||||
$act->time = time();
|
||||
$act->title = _("Favor");
|
||||
$act->content = sprintf(_("%s marked notice %s as a favorite."),
|
||||
$profile->getBestName(),
|
||||
$notice->uri);
|
||||
|
||||
$act->actor = ActivityObject::fromProfile($profile);
|
||||
$act->object = ActivityObject::fromNotice($notice);
|
||||
$act = $fav->asActivity();
|
||||
|
||||
$oprofile->notifyActivity($act, $profile);
|
||||
|
||||
@@ -800,8 +780,10 @@ class OStatusPlugin extends Plugin
|
||||
$notice->id,
|
||||
common_date_iso8601(time()));
|
||||
$act->time = time();
|
||||
$act->title = _("Disfavor");
|
||||
$act->content = sprintf(_("%s marked notice %s as no longer a favorite."),
|
||||
$act->title = _m('Disfavor');
|
||||
// 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.'),
|
||||
$profile->getBestName(),
|
||||
$notice->uri);
|
||||
|
||||
@@ -875,8 +857,9 @@ class OStatusPlugin extends Plugin
|
||||
$action->elementStart('p', array('id' => 'entity_remote_subscribe',
|
||||
'class' => 'entity_subscribe'));
|
||||
$action->element('a', array('href' => common_local_url($target),
|
||||
'class' => 'entity_remote_subscribe')
|
||||
, _m('Remote'));
|
||||
'class' => 'entity_remote_subscribe'),
|
||||
// TRANS: Link text for link to remote subscribe.
|
||||
_m('Remote'));
|
||||
$action->elementEnd('p');
|
||||
$action->elementEnd('div');
|
||||
}
|
||||
@@ -915,7 +898,10 @@ class OStatusPlugin extends Plugin
|
||||
$profile->id,
|
||||
common_date_iso8601(time()));
|
||||
$act->time = time();
|
||||
// TRANS: Title for activity.
|
||||
$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."),
|
||||
$profile->getBestName());
|
||||
|
||||
@@ -945,6 +931,7 @@ class OStatusPlugin extends Plugin
|
||||
array('nickname' => $profileUser->nickname));
|
||||
$output->element('a', array('href' => $url,
|
||||
'class' => 'entity_remote_subscribe'),
|
||||
// TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
_m('Subscribe'));
|
||||
$output->elementEnd('li');
|
||||
}
|
||||
@@ -959,15 +946,15 @@ class OStatusPlugin extends Plugin
|
||||
'version' => STATUSNET_VERSION,
|
||||
'author' => 'Evan Prodromou, James Walker, Brion Vibber, Zach Copley',
|
||||
'homepage' => 'http://status.net/wiki/Plugin:OStatus',
|
||||
'rawdescription' =>
|
||||
_m('Follow people across social networks that implement '.
|
||||
// TRANS: Plugin description.
|
||||
'rawdescription' => _m('Follow people across social networks that implement '.
|
||||
'<a href="http://ostatus.org/">OStatus</a>.'));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility function to check if the given URL is a canonical group profile
|
||||
* Utility function to check if the given URI is a canonical group profile
|
||||
* page, and if so return the ID number.
|
||||
*
|
||||
* @param string $url
|
||||
@@ -975,11 +962,22 @@ class OStatusPlugin extends Plugin
|
||||
*/
|
||||
public static function localGroupFromUrl($url)
|
||||
{
|
||||
$template = common_local_url('groupbyid', array('id' => '31337'));
|
||||
$template = preg_quote($template, '/');
|
||||
$template = str_replace('31337', '(\d+)', $template);
|
||||
if (preg_match("/$template/", $url, $matches)) {
|
||||
return intval($matches[1]);
|
||||
$group = User_group::staticGet('uri', $url);
|
||||
if ($group) {
|
||||
$local = Local_group::staticGet('group_id', $group->id);
|
||||
if ($local) {
|
||||
return $group->id;
|
||||
}
|
||||
} else {
|
||||
// To find local groups which haven't had their uri fields filled out...
|
||||
// If the domain has changed since a subscriber got the URI, it'll
|
||||
// be broken.
|
||||
$template = common_local_url('groupbyid', array('id' => '31337'));
|
||||
$template = preg_quote($template, '/');
|
||||
$template = str_replace('31337', '(\d+)', $template);
|
||||
if (preg_match("/$template/", $url, $matches)) {
|
||||
return intval($matches[1]);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -995,4 +993,58 @@ class OStatusPlugin extends Plugin
|
||||
$feed = $oprofile->feeduri;
|
||||
return false;
|
||||
}
|
||||
|
||||
function onStartGetProfileFromURI($uri, &$profile) {
|
||||
|
||||
// XXX: do discovery here instead (OStatus_profile::ensureProfileURI($uri))
|
||||
|
||||
$oprofile = Ostatus_profile::staticGet('uri', $uri);
|
||||
|
||||
if (!empty($oprofile) && !$oprofile->isGroup()) {
|
||||
$profile = $oprofile->localProfile();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
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
|
||||
$salmon_url = common_local_url('usersalmon',
|
||||
array('id' => $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', $user->id);
|
||||
if (!$magickey) {
|
||||
// No keypair yet, let's generate one.
|
||||
$magickey = new Magicsig();
|
||||
$magickey->generate($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 );
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -17,15 +17,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @author James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @author James Walker <james@status.net>
|
||||
*/
|
||||
class GroupsalmonAction extends SalmonAction
|
||||
{
|
||||
var $group = null;
|
||||
@@ -37,17 +36,20 @@ class GroupsalmonAction extends SalmonAction
|
||||
$id = $this->trimmed('id');
|
||||
|
||||
if (!$id) {
|
||||
$this->clientError(_('No ID.'));
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m('No ID.'));
|
||||
}
|
||||
|
||||
$this->group = User_group::staticGet('id', $id);
|
||||
|
||||
if (empty($this->group)) {
|
||||
$this->clientError(_('No such group.'));
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m('No such group.'));
|
||||
}
|
||||
|
||||
$oprofile = Ostatus_profile::staticGet('group_id', $id);
|
||||
if ($oprofile) {
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m("Can't accept remote posts for a remote group."));
|
||||
}
|
||||
|
||||
@@ -57,7 +59,6 @@ class GroupsalmonAction extends SalmonAction
|
||||
/**
|
||||
* We've gotten a post event on the Salmon backchannel, probably a reply.
|
||||
*/
|
||||
|
||||
function handlePost()
|
||||
{
|
||||
// @fixme process all objects?
|
||||
@@ -69,18 +70,20 @@ class GroupsalmonAction extends SalmonAction
|
||||
case ActivityObject::COMMENT:
|
||||
break;
|
||||
default:
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException("Can't handle that kind of post.");
|
||||
}
|
||||
|
||||
// Notice must be to the attention of this group
|
||||
|
||||
$context = $this->activity->context;
|
||||
|
||||
if (empty($context->attention)) {
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException("Not to the attention of anyone.");
|
||||
} else {
|
||||
$uri = common_local_url('groupbyid', array('id' => $this->group->id));
|
||||
if (!in_array($uri, $context->attention)) {
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException("Not to the attention of this group.");
|
||||
}
|
||||
}
|
||||
@@ -116,14 +119,15 @@ class GroupsalmonAction extends SalmonAction
|
||||
* currently we're doing the main logic in joingroup action
|
||||
* and so have to repeat it here.
|
||||
*/
|
||||
|
||||
function handleJoin()
|
||||
{
|
||||
$oprofile = $this->ensureProfile();
|
||||
if (!$oprofile) {
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m("Can't read profile to set up group membership."));
|
||||
}
|
||||
if ($oprofile->isGroup()) {
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m("Groups can't join groups."));
|
||||
}
|
||||
|
||||
@@ -137,7 +141,7 @@ class GroupsalmonAction extends SalmonAction
|
||||
}
|
||||
|
||||
if (Group_block::isBlocked($this->group, $profile)) {
|
||||
$this->clientError(_('You have been blocked from that group by the admin.'), 403);
|
||||
$this->clientError(_m('You have been blocked from that group by the admin.'), 403);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -151,6 +155,7 @@ class GroupsalmonAction extends SalmonAction
|
||||
//Event::handle('EndJoinGroup', array($this->group, $profile));
|
||||
//}
|
||||
} catch (Exception $e) {
|
||||
// TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
$this->serverError(sprintf(_m('Could not join remote user %1$s to group %2$s.'),
|
||||
$oprofile->uri, $this->group->nickname));
|
||||
}
|
||||
@@ -159,7 +164,6 @@ class GroupsalmonAction extends SalmonAction
|
||||
/**
|
||||
* A remote user left our group.
|
||||
*/
|
||||
|
||||
function handleLeave()
|
||||
{
|
||||
$oprofile = $this->ensureProfile();
|
||||
@@ -180,10 +184,10 @@ class GroupsalmonAction extends SalmonAction
|
||||
//Event::handle('EndLeaveGroup', array($this->group, $profile));
|
||||
//}
|
||||
} catch (Exception $e) {
|
||||
// TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
$this->serverError(sprintf(_m('Could not remove remote user %1$s from group %2$s.'),
|
||||
$oprofile->uri, $this->group->nickname));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,47 +0,0 @@
|
||||
<?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 HostMetaAction extends Action
|
||||
{
|
||||
|
||||
function handle()
|
||||
{
|
||||
parent::handle();
|
||||
|
||||
$domain = common_config('site', 'server');
|
||||
$url = common_local_url('userxrd');
|
||||
$url.= '?uri={uri}';
|
||||
|
||||
$xrd = new XRD();
|
||||
$xrd->host = $domain;
|
||||
$xrd->links[] = array('rel' => Discovery::LRDD_REL,
|
||||
'template' => $url,
|
||||
'title' => array('Resource Descriptor'));
|
||||
|
||||
header('Content-type: application/xrd+xml');
|
||||
print $xrd->toXML();
|
||||
}
|
||||
}
|
@@ -22,7 +22,9 @@
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Key UI methods:
|
||||
@@ -72,13 +74,16 @@ class OStatusGroupAction extends OStatusSubAction
|
||||
$this->elementStart('ul', 'form_data');
|
||||
$this->elementStart('li');
|
||||
$this->input('profile',
|
||||
// TRANS: Field label.
|
||||
_m('Join group'),
|
||||
$this->profile_uri,
|
||||
_m("OStatus group's address, like http://example.net/group/nickname"));
|
||||
// TRANS: Tooltip for field label "Join group".
|
||||
_m("OStatus group's address, like http://example.net/group/nickname."));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
|
||||
$this->submit('validate', _m('Continue'));
|
||||
// TRANS: Button text.
|
||||
$this->submit('validate', _m('BUTTON','Continue'));
|
||||
|
||||
$this->elementEnd('fieldset');
|
||||
|
||||
@@ -156,7 +161,6 @@ class OStatusGroupAction extends OStatusSubAction
|
||||
*
|
||||
* @return string Title of the page
|
||||
*/
|
||||
|
||||
function title()
|
||||
{
|
||||
// TRANS: Page title for OStatus remote group join form
|
||||
@@ -168,9 +172,9 @@ class OStatusGroupAction extends OStatusSubAction
|
||||
*
|
||||
* @return instructions for use
|
||||
*/
|
||||
|
||||
function getInstructions()
|
||||
{
|
||||
// TRANS: Instructions.
|
||||
return _m('You can subscribe to groups from other supported sites. Paste the group\'s profile URI below:');
|
||||
}
|
||||
|
||||
|
@@ -22,12 +22,12 @@
|
||||
* @maintainer James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class OStatusInitAction extends Action
|
||||
{
|
||||
|
||||
var $nickname;
|
||||
var $group;
|
||||
var $profile;
|
||||
@@ -38,6 +38,7 @@ class OStatusInitAction extends Action
|
||||
parent::prepare($args);
|
||||
|
||||
if (common_logged_in()) {
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m('You can use the local subscription!'));
|
||||
return false;
|
||||
}
|
||||
@@ -45,13 +46,13 @@ class OStatusInitAction extends Action
|
||||
// Local user or group the remote wants to subscribe to
|
||||
$this->nickname = $this->trimmed('nickname');
|
||||
$this->group = $this->trimmed('group');
|
||||
|
||||
|
||||
// Webfinger or profile URL of the remote user
|
||||
$this->profile = $this->trimmed('profile');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
@@ -69,7 +70,7 @@ class OStatusInitAction extends Action
|
||||
$this->showForm();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function showForm($err = null)
|
||||
{
|
||||
$this->err = $err;
|
||||
@@ -78,6 +79,7 @@ class OStatusInitAction extends Action
|
||||
$this->xw->startDocument('1.0', 'UTF-8');
|
||||
$this->elementStart('html');
|
||||
$this->elementStart('head');
|
||||
// TRANS: Form title.
|
||||
$this->element('title', null, _m('Subscribe to user'));
|
||||
$this->elementEnd('head');
|
||||
$this->elementStart('body');
|
||||
@@ -93,11 +95,15 @@ class OStatusInitAction extends Action
|
||||
{
|
||||
|
||||
if ($this->group) {
|
||||
// TRANS: Form legend.
|
||||
$header = sprintf(_m('Join group %s'), $this->group);
|
||||
$submit = _m('Join');
|
||||
// TRANS: Button text.
|
||||
$submit = _m('BUTTON','Join');
|
||||
} else {
|
||||
// TRANS: Form legend.
|
||||
$header = sprintf(_m('Subscribe to %s'), $this->nickname);
|
||||
$submit = _m('Subscribe');
|
||||
// TRANS: Button text.
|
||||
$submit = _m('BUTTON','Subscribe');
|
||||
}
|
||||
$this->elementStart('form', array('id' => 'form_ostatus_connect',
|
||||
'method' => 'post',
|
||||
@@ -109,11 +115,13 @@ class OStatusInitAction extends Action
|
||||
|
||||
$this->elementStart('ul', 'form_data');
|
||||
$this->elementStart('li', array('id' => 'ostatus_nickname'));
|
||||
// TRANS: Field label.
|
||||
$this->input('nickname', _m('User nickname'), $this->nickname,
|
||||
_m('Nickname of the user you want to follow'));
|
||||
_m('Nickname of the user you want to follow.'));
|
||||
$this->hidden('group', $this->group); // pass-through for magic links
|
||||
$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"));
|
||||
$this->elementEnd('li');
|
||||
@@ -136,6 +144,7 @@ class OStatusInitAction extends Action
|
||||
} elseif (strpos($this->profile, '@') !== false) {
|
||||
$this->connectWebfinger($this->profile);
|
||||
} else {
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m("Must provide a remote profile."));
|
||||
}
|
||||
}
|
||||
@@ -147,6 +156,7 @@ class OStatusInitAction extends Action
|
||||
$disco = new Discovery;
|
||||
$result = $disco->lookup($acct);
|
||||
if (!$result) {
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m("Couldn't look up OStatus account profile."));
|
||||
}
|
||||
|
||||
@@ -159,6 +169,7 @@ class OStatusInitAction extends Action
|
||||
}
|
||||
|
||||
}
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m("Couldn't confirm remote profile address."));
|
||||
}
|
||||
|
||||
@@ -184,6 +195,7 @@ class OStatusInitAction extends Action
|
||||
if ($user) {
|
||||
return common_local_url('userbyid', array('id' => $user->id));
|
||||
} else {
|
||||
// TRANS: Client error.
|
||||
$this->clientError("No such user.");
|
||||
}
|
||||
} else if ($this->group) {
|
||||
@@ -191,18 +203,18 @@ class OStatusInitAction extends Action
|
||||
if ($group) {
|
||||
return common_local_url('groupbyid', array('id' => $group->group_id));
|
||||
} else {
|
||||
// TRANS: Client error.
|
||||
$this->clientError("No such group.");
|
||||
}
|
||||
} else {
|
||||
// TRANS: Client error.
|
||||
$this->clientError("No local user or group nickname provided.");
|
||||
}
|
||||
}
|
||||
|
||||
function title()
|
||||
{
|
||||
return _m('OStatus Connect');
|
||||
// TRANS: Page title.
|
||||
return _m('OStatus Connect');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@@ -22,7 +22,9 @@
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Key UI methods:
|
||||
@@ -62,13 +64,15 @@ class OStatusSubAction extends Action
|
||||
$this->elementStart('ul', 'form_data');
|
||||
$this->elementStart('li');
|
||||
$this->input('profile',
|
||||
// TRANS: Field label for a field that takes an OStatus user address.
|
||||
_m('Subscribe to'),
|
||||
$this->profile_uri,
|
||||
_m("OStatus user's address, like nickname@example.com or http://example.net/nickname"));
|
||||
// TRANS: Tooltip for field label "Subscribe to".
|
||||
_m('OStatus user\'s address, like nickname@example.com or http://example.net/nickname'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
|
||||
$this->submit('validate', _m('Continue'));
|
||||
// TRANS: Button text.
|
||||
$this->submit('validate', _m('BUTTON','Continue'));
|
||||
|
||||
$this->elementEnd('fieldset');
|
||||
|
||||
@@ -103,9 +107,13 @@ class OStatusSubAction extends Action
|
||||
$this->hidden('profile', $this->profile_uri);
|
||||
if ($this->oprofile->isGroup()) {
|
||||
$this->submit('submit', _m('Join'), 'submit', null,
|
||||
_m('Join this group'));
|
||||
// TRANS: Button text.
|
||||
// TRANS: Tooltip for button "Join".
|
||||
_m('BUTTON','Join this group'));
|
||||
} else {
|
||||
$this->submit('submit', _m('Confirm'), 'submit', null,
|
||||
// TRANS: Button text.
|
||||
$this->submit('submit', _m('BUTTON','Confirm'), 'submit', null,
|
||||
// TRANS: Tooltip for button "Confirm".
|
||||
_m('Subscribe to this user'));
|
||||
}
|
||||
$this->elementEnd('fieldset');
|
||||
@@ -156,7 +164,7 @@ class OStatusSubAction extends Action
|
||||
|
||||
$this->elementStart('div', 'entity_profile vcard');
|
||||
$this->elementStart('dl', 'entity_depiction');
|
||||
$this->element('dt', null, _('Photo'));
|
||||
$this->element('dt', null, _m('Photo'));
|
||||
$this->elementStart('dd');
|
||||
$this->element('img', array('src' => $avatar,
|
||||
'class' => 'photo avatar',
|
||||
@@ -167,7 +175,7 @@ class OStatusSubAction extends Action
|
||||
$this->elementEnd('dl');
|
||||
|
||||
$this->elementStart('dl', 'entity_nickname');
|
||||
$this->element('dt', null, _('Nickname'));
|
||||
$this->element('dt', null, _m('Nickname'));
|
||||
$this->elementStart('dd');
|
||||
$hasFN = ($fullname !== '') ? 'nickname' : 'fn nickname';
|
||||
$this->elementStart('a', array('href' => $profile,
|
||||
@@ -188,7 +196,7 @@ class OStatusSubAction extends Action
|
||||
}
|
||||
if (!is_null($location)) {
|
||||
$this->elementStart('dl', 'entity_location');
|
||||
$this->element('dt', null, _('Location'));
|
||||
$this->element('dt', null, _m('Location'));
|
||||
$this->elementStart('dd', 'label');
|
||||
$this->raw($location);
|
||||
$this->elementEnd('dd');
|
||||
@@ -197,7 +205,7 @@ class OStatusSubAction extends Action
|
||||
|
||||
if (!is_null($homepage)) {
|
||||
$this->elementStart('dl', 'entity_url');
|
||||
$this->element('dt', null, _('URL'));
|
||||
$this->element('dt', null, _m('URL'));
|
||||
$this->elementStart('dd');
|
||||
$this->elementStart('a', array('href' => $homepage,
|
||||
'class' => 'url'));
|
||||
@@ -209,7 +217,7 @@ class OStatusSubAction extends Action
|
||||
|
||||
if (!is_null($note)) {
|
||||
$this->elementStart('dl', 'entity_note');
|
||||
$this->element('dt', null, _('Note'));
|
||||
$this->element('dt', null, _m('Note'));
|
||||
$this->elementStart('dd', 'note');
|
||||
$this->raw($note);
|
||||
$this->elementEnd('dd');
|
||||
@@ -244,32 +252,40 @@ class OStatusSubAction extends Action
|
||||
} else if (Validate::uri($this->profile_uri)) {
|
||||
$this->oprofile = Ostatus_profile::ensureProfileURL($this->profile_uri);
|
||||
} else {
|
||||
$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");
|
||||
// TRANS: Error text.
|
||||
$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) {
|
||||
$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");
|
||||
// TRANS: Error text.
|
||||
$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) {
|
||||
// TRANS: Error text.
|
||||
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
|
||||
common_debug('Cannot read feed; server returned error.', __FILE__);
|
||||
} catch (FeedSubEmptyException $e) {
|
||||
// TRANS: Error text.
|
||||
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
|
||||
common_debug('Cannot read feed; server returned an empty page.', __FILE__);
|
||||
} catch (FeedSubBadHTMLException $e) {
|
||||
// TRANS: Error text.
|
||||
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
|
||||
common_debug('Bad HTML, could not find feed link.', __FILE__);
|
||||
} catch (FeedSubNoFeedException $e) {
|
||||
// TRANS: Error text.
|
||||
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
|
||||
common_debug('Could not find a feed linked from this URL.', __FILE__);
|
||||
} catch (FeedSubUnrecognizedTypeException $e) {
|
||||
// TRANS: Error text.
|
||||
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
|
||||
common_debug('Not a recognized feed type.', __FILE__);
|
||||
} catch (Exception $e) {
|
||||
// Any new ones we forgot about
|
||||
$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");
|
||||
// TRANS: Error text.
|
||||
$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__);
|
||||
}
|
||||
|
||||
@@ -350,7 +366,7 @@ class OStatusSubAction extends Action
|
||||
// CSRF protection
|
||||
$token = $this->trimmed('token');
|
||||
if (!$token || $token != common_session_token()) {
|
||||
$this->showForm(_('There was a problem with your session token. '.
|
||||
$this->showForm(_m('There was a problem with your session token. '.
|
||||
'Try again, please.'));
|
||||
return;
|
||||
}
|
||||
@@ -377,6 +393,7 @@ class OStatusSubAction extends Action
|
||||
$this->xw->startDocument('1.0', 'UTF-8');
|
||||
$this->elementStart('html');
|
||||
$this->elementStart('head');
|
||||
// TRANS: Form title.
|
||||
$this->element('title', null, _m('Subscribe to user'));
|
||||
$this->elementEnd('head');
|
||||
$this->elementStart('body');
|
||||
@@ -408,6 +425,7 @@ class OStatusSubAction extends Action
|
||||
|
||||
function getInstructions()
|
||||
{
|
||||
// TRANS: Instructions.
|
||||
return _m('You can subscribe to users from other supported sites. Paste their address or profile URI below:');
|
||||
}
|
||||
|
||||
@@ -426,7 +444,6 @@ class OStatusSubAction extends Action
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showContent()
|
||||
{
|
||||
if ($this->oprofile) {
|
||||
@@ -459,5 +476,4 @@ class OStatusSubAction extends Action
|
||||
function showNoticeForm() {
|
||||
// nop
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -22,7 +22,9 @@
|
||||
* @maintainer James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class OwnerxrdAction extends XrdAction
|
||||
{
|
||||
@@ -32,15 +34,15 @@ class OwnerxrdAction extends XrdAction
|
||||
function prepare($args)
|
||||
{
|
||||
$this->user = User::siteOwner();
|
||||
|
||||
|
||||
if (!$this->user) {
|
||||
$this->clientError(_('No such user.'), 404);
|
||||
$this->clientError(_m('No such user.'), 404);
|
||||
return false;
|
||||
}
|
||||
|
||||
$nick = common_canonical_nickname($this->user->nickname);
|
||||
$acct = 'acct:' . $nick . '@' . common_config('site', 'server');
|
||||
|
||||
|
||||
$this->xrd = new XRD();
|
||||
|
||||
// Check to see if a $config['webfinger']['owner'] has been set
|
||||
|
@@ -22,8 +22,9 @@
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class PushCallbackAction extends Action
|
||||
{
|
||||
@@ -37,7 +38,7 @@ class PushCallbackAction extends Action
|
||||
$this->handleGet();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handler for POST content updates from the hub
|
||||
*/
|
||||
@@ -46,12 +47,13 @@ class PushCallbackAction extends Action
|
||||
$feedid = $this->arg('feed');
|
||||
common_log(LOG_INFO, "POST for feed id $feedid");
|
||||
if (!$feedid) {
|
||||
throw new ServerException('Empty or invalid feed id', 400);
|
||||
throw new ServerException(_m('Empty or invalid feed id.'), 400);
|
||||
}
|
||||
|
||||
$feedsub = FeedSub::staticGet('id', $feedid);
|
||||
if (!$feedsub) {
|
||||
throw new ServerException('Unknown PuSH feed id ' . $feedid, 400);
|
||||
// TRANS: Server exception. %s is a feed ID.
|
||||
throw new ServerException(sprintf(_m('Unknown PuSH feed id %s'),$feedid), 400);
|
||||
}
|
||||
|
||||
$hmac = '';
|
||||
@@ -70,7 +72,7 @@ class PushCallbackAction extends Action
|
||||
$qm = QueueManager::get();
|
||||
$qm->enqueue($data, 'pushin');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handler for GET verification requests from the hub.
|
||||
*/
|
||||
@@ -81,28 +83,34 @@ class PushCallbackAction extends Action
|
||||
$challenge = $this->arg('hub_challenge');
|
||||
$lease_seconds = $this->arg('hub_lease_seconds');
|
||||
$verify_token = $this->arg('hub_verify_token');
|
||||
common_log(LOG_INFO, __METHOD__ . ": sub verification mode: $mode topic: $topic challenge: $challenge lease_seconds: $lease_seconds verify_token: $verify_token");
|
||||
|
||||
if ($mode != 'subscribe' && $mode != 'unsubscribe') {
|
||||
throw new ClientException("Bad hub.mode $mode", 404);
|
||||
// TRANS: Client exception. %s is an invalid value for hub.mode.
|
||||
throw new ClientException(sprintf(_m('Bad hub.mode "$s".',$mode)), 404);
|
||||
}
|
||||
|
||||
$feedsub = FeedSub::staticGet('uri', $topic);
|
||||
if (!$feedsub) {
|
||||
throw new ClientException("Bad hub.topic feed $topic", 404);
|
||||
// TRANS: Client exception. %s is an invalid feed name.
|
||||
throw new ClientException(sprintf(_m('Bad hub.topic feed "%s".'),$topic), 404);
|
||||
}
|
||||
|
||||
if ($feedsub->verify_token !== $verify_token) {
|
||||
throw new ClientException("Bad hub.verify_token $token for $topic", 404);
|
||||
// TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
throw new ClientException(sprintf(_m('Bad hub.verify_token %1$s for %2$s.'),$token,$topic), 404);
|
||||
}
|
||||
|
||||
if ($mode == 'subscribe') {
|
||||
// We may get re-sub requests legitimately.
|
||||
if ($feedsub->sub_state != 'subscribe' && $feedsub->sub_state != 'active') {
|
||||
throw new ClientException("Unexpected subscribe request for $topic.", 404);
|
||||
// TRANS: Client exception. %s is an invalid topic.
|
||||
throw new ClientException(sprintf(_m('Unexpected subscribe request for %s.'),$topic), 404);
|
||||
}
|
||||
} else {
|
||||
if ($feedsub->sub_state != 'unsubscribe') {
|
||||
throw new ClientException("Unexpected unsubscribe request for $topic.", 404);
|
||||
// TRANS: Client exception. %s is an invalid topic.
|
||||
throw new ClientException(sprintf(_m('Unexpected unsubscribe request for %s.'),$topic), 404);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -23,6 +23,10 @@
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
|
||||
@@ -36,7 +40,6 @@ Things to consider...
|
||||
|
||||
*/
|
||||
|
||||
|
||||
class PushHubAction extends Action
|
||||
{
|
||||
function arg($arg, $def=null)
|
||||
@@ -63,9 +66,11 @@ class PushHubAction extends Action
|
||||
$this->subunsub($mode);
|
||||
break;
|
||||
case "publish":
|
||||
throw new ClientException("Publishing outside feeds not supported.", 400);
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('Publishing outside feeds not supported.'), 400);
|
||||
default:
|
||||
throw new ClientException("Unrecognized mode '$mode'.", 400);
|
||||
// TRANS: Client exception. %s is a mode.
|
||||
throw new ClientException(sprintf(_m('Unrecognized mode "%s".'),$mode), 400);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,24 +89,28 @@ class PushHubAction extends Action
|
||||
|
||||
$topic = $this->argUrl('hub.topic');
|
||||
if (!$this->recognizedFeed($topic)) {
|
||||
throw new ClientException("Unsupported hub.topic $topic; this hub only serves local user and group Atom feeds.");
|
||||
// TRANS: Client exception. %s is a topic.
|
||||
throw new ClientException(sprintf(_m('Unsupported hub.topic %s this hub only serves local user and group Atom feeds.'),$topic));
|
||||
}
|
||||
|
||||
$verify = $this->arg('hub.verify'); // @fixme may be multiple
|
||||
if ($verify != 'sync' && $verify != 'async') {
|
||||
throw new ClientException("Invalid hub.verify $verify; must be sync or async.");
|
||||
// TRANS: Client exception.
|
||||
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)) {
|
||||
throw new ClientException("Invalid hub.lease $lease; must be empty or positive integer.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(sprintf(_m('Invalid hub.lease "%s". It must be empty or positive integer.'),$lease));
|
||||
}
|
||||
|
||||
$token = $this->arg('hub.verify_token', null);
|
||||
|
||||
$secret = $this->arg('hub.secret', null);
|
||||
if ($secret != '' && strlen($secret) >= 200) {
|
||||
throw new ClientException("Invalid hub.secret $secret; must be under 200 bytes.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
|
||||
}
|
||||
|
||||
$sub = HubSub::staticGet($topic, $callback);
|
||||
@@ -152,7 +161,8 @@ class PushHubAction extends Action
|
||||
if ($feed == $userFeed) {
|
||||
$user = User::staticGet('id', $id);
|
||||
if (!$user) {
|
||||
throw new ClientException("Invalid hub.topic $feed; user doesn't exist.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(sprintt(_m('Invalid hub.topic "%s". User doesn\'t exist.'),$feed));
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
@@ -160,7 +170,8 @@ class PushHubAction extends Action
|
||||
if ($feed == $groupFeed) {
|
||||
$user = User_group::staticGet('id', $id);
|
||||
if (!$user) {
|
||||
throw new ClientException("Invalid hub.topic $feed; group doesn't exist.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(sprintf(_m('Invalid hub.topic "%s". Group doesn\'t exist.'),$feed));
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
@@ -183,7 +194,9 @@ class PushHubAction extends Action
|
||||
if (Validate::uri($url, $params)) {
|
||||
return $url;
|
||||
} else {
|
||||
throw new ClientException("Invalid URL passed for $arg: '$url'");
|
||||
// TRANS: Client exception.
|
||||
// TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
throw new ClientException(sprintf(_m('Invalid URL passed for %1$s: "%2$s"'),$arg,$url));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,4 +212,3 @@ class PushHubAction extends Action
|
||||
return HubSub::staticGet($feed, $callback);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -17,15 +17,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @author James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @author James Walker <james@status.net>
|
||||
*/
|
||||
class UsersalmonAction extends SalmonAction
|
||||
{
|
||||
function prepare($args)
|
||||
@@ -35,13 +34,13 @@ class UsersalmonAction extends SalmonAction
|
||||
$id = $this->trimmed('id');
|
||||
|
||||
if (!$id) {
|
||||
$this->clientError(_('No ID.'));
|
||||
$this->clientError(_m('No ID.'));
|
||||
}
|
||||
|
||||
$this->user = User::staticGet('id', $id);
|
||||
|
||||
if (empty($this->user)) {
|
||||
$this->clientError(_('No such user.'));
|
||||
$this->clientError(_m('No such user.'));
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -71,25 +70,31 @@ class UsersalmonAction extends SalmonAction
|
||||
|
||||
// Notice must either be a) in reply to a notice by this user
|
||||
// or b) to the attention of this user
|
||||
// or c) in reply to a notice to the attention of this user
|
||||
|
||||
$context = $this->activity->context;
|
||||
|
||||
if (!empty($context->replyToID)) {
|
||||
$notice = Notice::staticGet('uri', $context->replyToID);
|
||||
if (empty($notice)) {
|
||||
throw new ClientException("In reply to unknown notice");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('In reply to unknown notice.'));
|
||||
}
|
||||
if ($notice->profile_id != $this->user->id) {
|
||||
throw new ClientException("In reply to a notice not by this user");
|
||||
if ($notice->profile_id != $this->user->id &&
|
||||
!in_array($this->user->id, $notice->getReplies())) {
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('In reply to a notice not by this user and not mentioning this user.'));
|
||||
}
|
||||
} else if (!empty($context->attention)) {
|
||||
if (!in_array($this->user->uri, $context->attention) &&
|
||||
!in_array(common_profile_url($this->user->nickname), $context->attention)) {
|
||||
common_log(LOG_ERR, "{$this->user->uri} not in attention list (".implode(',', $context->attention).")");
|
||||
throw new ClientException("To the attention of user(s) not including this one!");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException('To the attention of user(s), not including this one.');
|
||||
}
|
||||
} else {
|
||||
throw new ClientException("Not to anyone in reply to anything!");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException('Not to anyone in reply to anything.');
|
||||
}
|
||||
|
||||
$existing = Notice::staticGet('uri', $this->activity->objects[0]->id);
|
||||
@@ -106,7 +111,6 @@ class UsersalmonAction extends SalmonAction
|
||||
* We've gotten a follow/subscribe notification from a remote user.
|
||||
* Save a subscription relationship for them.
|
||||
*/
|
||||
|
||||
function handleFollow()
|
||||
{
|
||||
$oprofile = $this->ensureProfile();
|
||||
@@ -150,11 +154,13 @@ class UsersalmonAction extends SalmonAction
|
||||
'notice_id' => $notice->id));
|
||||
|
||||
if (!empty($old)) {
|
||||
throw new ClientException("We already know that's a fave!");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_('This is already a favorite.'));
|
||||
}
|
||||
|
||||
if (!Fave::addNew($profile, $notice)) {
|
||||
throw new ClientException("Could not save new favorite.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('Could not save new favorite.'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,7 +176,8 @@ class UsersalmonAction extends SalmonAction
|
||||
$fave = Fave::pkeyGet(array('user_id' => $profile->id,
|
||||
'notice_id' => $notice->id));
|
||||
if (empty($fave)) {
|
||||
throw new ClientException("Notice wasn't favorited!");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_('Notice wasn\'t favorited!'));
|
||||
}
|
||||
|
||||
$fave->delete();
|
||||
@@ -184,7 +191,8 @@ class UsersalmonAction extends SalmonAction
|
||||
function getNotice($object)
|
||||
{
|
||||
if (!$object) {
|
||||
throw new ClientException("Can't favorite/unfavorite without an object.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('Can\'t favorite/unfavorite without an object.'));
|
||||
}
|
||||
|
||||
switch ($object->type) {
|
||||
@@ -195,20 +203,22 @@ class UsersalmonAction extends SalmonAction
|
||||
case ActivityObject::COMMENT:
|
||||
break;
|
||||
default:
|
||||
throw new ClientException("Can't handle that kind of object for liking/faving.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('Can\'t handle that kind of object for liking/faving.'));
|
||||
}
|
||||
|
||||
$notice = Notice::staticGet('uri', $object->id);
|
||||
|
||||
if (empty($notice)) {
|
||||
throw new ClientException("Notice with ID $object->id unknown.");
|
||||
// TRANS: Client exception. %s is an object ID.
|
||||
throw new ClientException(sprintf(_m('Notice with ID %s unknown.'),$object->id));
|
||||
}
|
||||
|
||||
if ($notice->profile_id != $this->user->id) {
|
||||
throw new ClientException("Notice with ID $object->id not posted by $this->user->id.");
|
||||
// TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
throw new ClientException(sprintf(_m('Notice with ID %1$s not posted by %2$s.'),$object->id,$this->user->id));
|
||||
}
|
||||
|
||||
return $notice;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,55 +0,0 @@
|
||||
<?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 UserxrdAction extends XrdAction
|
||||
{
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
||||
$this->uri = $this->trimmed('uri');
|
||||
$this->uri = Discovery::normalize($this->uri);
|
||||
|
||||
if (Discovery::isWebfinger($this->uri)) {
|
||||
$parts = explode('@', substr(urldecode($this->uri), 5));
|
||||
if (count($parts) == 2) {
|
||||
list($nick, $domain) = $parts;
|
||||
// @fixme confirm the domain too
|
||||
$nick = common_canonical_nickname($nick);
|
||||
$this->user = User::staticGet('nickname', $nick);
|
||||
}
|
||||
} else {
|
||||
$this->user = User::staticGet('uri', $this->uri);
|
||||
}
|
||||
if (!$this->user) {
|
||||
$this->clientError(_('No such user.'), 404);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
@@ -39,7 +43,6 @@ PuSH subscription flow:
|
||||
hub sends us updates via POST
|
||||
|
||||
*/
|
||||
|
||||
class FeedDBException extends FeedSubException
|
||||
{
|
||||
public $obj;
|
||||
@@ -88,7 +91,6 @@ class FeedSub extends Memcached_DataObject
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
|
||||
@@ -143,7 +145,6 @@ class FeedSub extends Memcached_DataObject
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array_keys($this->keyTypes());
|
||||
@@ -157,7 +158,6 @@ class FeedSub extends Memcached_DataObject
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return array('id' => 'K', 'uri' => 'U');
|
||||
@@ -249,7 +249,7 @@ class FeedSub extends Memcached_DataObject
|
||||
// We'll never actually get updates in this mode.
|
||||
return true;
|
||||
} else {
|
||||
throw new ServerException("Attempting to start PuSH subscription for feed with no hub");
|
||||
throw new ServerException(_m('Attempting to start PuSH subscription for feed with no hub.'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,7 +279,7 @@ class FeedSub extends Memcached_DataObject
|
||||
// We'll never actually get updates in this mode.
|
||||
return true;
|
||||
} else {
|
||||
throw new ServerException("Attempting to end PuSH subscription for feed with no hub");
|
||||
throw new ServerException(_m('Attempting to end PuSH subscription for feed with no hub.'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -500,6 +500,4 @@ class FeedSub extends Memcached_DataObject
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* PuSH feed subscription record
|
||||
* @package Hub
|
||||
@@ -54,7 +58,6 @@ class HubSub extends Memcached_DataObject
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('hashkey' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
@@ -112,7 +115,6 @@ class HubSub extends Memcached_DataObject
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return array('hashkey' => 'K');
|
||||
@@ -206,7 +208,8 @@ class HubSub extends Memcached_DataObject
|
||||
if ($status >= 200 && $status < 300) {
|
||||
common_log(LOG_INFO, "Verified $mode of $this->callback:$this->topic");
|
||||
} else {
|
||||
throw new ClientException("Hub subscriber verification returned HTTP $status");
|
||||
// TRANS: Client exception. %s is a HTTP status code.
|
||||
throw new ClientException(sprintf(_m('Hub subscriber verification returned HTTP %s.'),$status));
|
||||
}
|
||||
|
||||
$old = HubSub::staticGet($this->topic, $this->callback);
|
||||
@@ -307,9 +310,9 @@ class HubSub extends Memcached_DataObject
|
||||
/**
|
||||
* Queue up a large batch of pushes to multiple subscribers
|
||||
* for this same topic update.
|
||||
*
|
||||
*
|
||||
* If queues are disabled, this will run immediately.
|
||||
*
|
||||
*
|
||||
* @param string $atom well-formed Atom feed
|
||||
* @param array $pushCallbacks list of callback URLs
|
||||
*/
|
||||
@@ -352,11 +355,9 @@ class HubSub extends Memcached_DataObject
|
||||
if ($response->isOk()) {
|
||||
return true;
|
||||
} else {
|
||||
throw new Exception("Callback returned status: " .
|
||||
$response->getStatus() .
|
||||
"; body: " .
|
||||
trim($response->getBody()));
|
||||
// TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
throw new Exception(sprintf(_m('Callback returned status: %1$s. Body: %2$s'),
|
||||
$response->getStatus(),trim($response->getBody())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -27,27 +27,30 @@
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require_once 'Crypt/RSA.php';
|
||||
|
||||
class Magicsig extends Memcached_DataObject
|
||||
{
|
||||
|
||||
const PUBLICKEYREL = 'magic-public-key';
|
||||
|
||||
|
||||
public $__table = 'magicsig';
|
||||
|
||||
public $user_id;
|
||||
public $keypair;
|
||||
public $alg;
|
||||
|
||||
|
||||
public $publicKey;
|
||||
public $privateKey;
|
||||
|
||||
|
||||
public function __construct($alg = 'RSA-SHA256')
|
||||
{
|
||||
$this->alg = $alg;
|
||||
}
|
||||
|
||||
|
||||
public /*static*/ function staticGet($k, $v=null)
|
||||
{
|
||||
$obj = parent::staticGet(__CLASS__, $k, $v);
|
||||
@@ -86,7 +89,6 @@ class Magicsig extends Memcached_DataObject
|
||||
64, false));
|
||||
}
|
||||
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array_keys($this->keyTypes());
|
||||
@@ -111,7 +113,7 @@ class Magicsig extends Memcached_DataObject
|
||||
public function generate($user_id)
|
||||
{
|
||||
$rsa = new Crypt_RSA();
|
||||
|
||||
|
||||
$keypair = $rsa->createKey();
|
||||
|
||||
$rsa->loadKey($keypair['privatekey']);
|
||||
@@ -121,12 +123,11 @@ class Magicsig extends Memcached_DataObject
|
||||
|
||||
$this->publicKey = new Crypt_RSA();
|
||||
$this->publicKey->loadKey($keypair['publickey']);
|
||||
|
||||
|
||||
$this->user_id = $user_id;
|
||||
$this->insert();
|
||||
}
|
||||
|
||||
|
||||
public function toString($full_pair = true)
|
||||
{
|
||||
$mod = Magicsig::base64_url_encode($this->publicKey->modulus->toBytes());
|
||||
@@ -136,13 +137,13 @@ class Magicsig extends Memcached_DataObject
|
||||
$private_exp = '.' . Magicsig::base64_url_encode($this->privateKey->exponent->toBytes());
|
||||
}
|
||||
|
||||
return 'RSA.' . $mod . '.' . $exp . $private_exp;
|
||||
return 'RSA.' . $mod . '.' . $exp . $private_exp;
|
||||
}
|
||||
|
||||
|
||||
public static function fromString($text)
|
||||
{
|
||||
$magic_sig = new Magicsig();
|
||||
|
||||
|
||||
// remove whitespace
|
||||
$text = preg_replace('/\s+/', '', $text);
|
||||
|
||||
@@ -150,7 +151,7 @@ class Magicsig extends Memcached_DataObject
|
||||
if (!preg_match('/RSA\.([^\.]+)\.([^\.]+)(.([^\.]+))?/', $text, $matches)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$mod = $matches[1];
|
||||
$exp = $matches[2];
|
||||
if (!empty($matches[4])) {
|
||||
@@ -184,7 +185,7 @@ class Magicsig extends Memcached_DataObject
|
||||
$this->publicKey = $rsa;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return $this->alg;
|
||||
@@ -197,9 +198,8 @@ class Magicsig extends Memcached_DataObject
|
||||
case 'RSA-SHA256':
|
||||
return 'sha256';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function sign($bytes)
|
||||
{
|
||||
$sig = $this->privateKey->sign($bytes);
|
||||
@@ -223,5 +223,3 @@ class Magicsig extends Memcached_DataObject
|
||||
return base64_decode(strtr($input, '-_', '+/'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -17,12 +17,16 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
class Ostatus_profile extends Memcached_DataObject
|
||||
class Ostatus_profile extends Managed_DataObject
|
||||
{
|
||||
public $__table = 'ostatus_profile';
|
||||
|
||||
@@ -44,77 +48,35 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
|
||||
/**
|
||||
* return table definition for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know something about the table to manipulate
|
||||
* instances. This method provides all the DB_DataObject needs to know.
|
||||
* Return table definition for Schema setup and DB_DataObject usage.
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('uri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'profile_id' => DB_DATAOBJECT_INT,
|
||||
'group_id' => DB_DATAOBJECT_INT,
|
||||
'feeduri' => DB_DATAOBJECT_STR,
|
||||
'salmonuri' => DB_DATAOBJECT_STR,
|
||||
'avatar' => DB_DATAOBJECT_STR,
|
||||
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
|
||||
'modified' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
|
||||
}
|
||||
|
||||
static function schemaDef()
|
||||
{
|
||||
return array(new ColumnDef('uri', 'varchar',
|
||||
255, false, 'PRI'),
|
||||
new ColumnDef('profile_id', 'integer',
|
||||
null, true, 'UNI'),
|
||||
new ColumnDef('group_id', 'integer',
|
||||
null, true, 'UNI'),
|
||||
new ColumnDef('feeduri', 'varchar',
|
||||
255, true, 'UNI'),
|
||||
new ColumnDef('salmonuri', 'text',
|
||||
null, true),
|
||||
new ColumnDef('avatar', 'text',
|
||||
null, true),
|
||||
new ColumnDef('created', 'datetime',
|
||||
null, false),
|
||||
new ColumnDef('modified', 'datetime',
|
||||
null, false));
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know about keys that the table has; this function
|
||||
* defines them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array_keys($this->keyTypes());
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for Memcached_DataObject
|
||||
*
|
||||
* Our caching system uses the same key definitions, but uses a different
|
||||
* method to get them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return array('uri' => 'K', 'profile_id' => 'U', 'group_id' => 'U', 'feeduri' => 'U');
|
||||
}
|
||||
|
||||
function sequenceKey()
|
||||
{
|
||||
return array(false, false, false);
|
||||
return array(
|
||||
'fields' => array(
|
||||
'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true),
|
||||
'profile_id' => array('type' => 'integer'),
|
||||
'group_id' => array('type' => 'integer'),
|
||||
'feeduri' => array('type' => 'varchar', 'length' => 255),
|
||||
'salmonuri' => array('type' => 'varchar', 'length' => 255),
|
||||
'avatar' => array('type' => 'text'),
|
||||
'created' => array('type' => 'datetime', 'not null' => true),
|
||||
'modified' => array('type' => 'datetime', 'not null' => true),
|
||||
),
|
||||
'primary key' => array('uri'),
|
||||
'unique keys' => array(
|
||||
'ostatus_profile_profile_id_idx' => array('profile_id'),
|
||||
'ostatus_profile_group_id_idx' => array('group_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')),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -188,9 +150,11 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
} else if ($this->group_id && !$this->profile_id) {
|
||||
return true;
|
||||
} else if ($this->group_id && $this->profile_id) {
|
||||
throw new ServerException("Invalid ostatus_profile state: both group and profile IDs set for $this->uri");
|
||||
// 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 {
|
||||
throw new ServerException("Invalid ostatus_profile state: both group and profile IDs empty for $this->uri");
|
||||
// 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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,7 +242,9 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
if ($type == 'object') {
|
||||
$type = get_class($actor);
|
||||
}
|
||||
throw new ServerException("Invalid actor passed to " . __METHOD__ . ": " . $type);
|
||||
// TRANS: Server exception.
|
||||
// TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
throw new ServerException(sprintf(_m('Invalid actor passed to %1$s: %2$s.'),__METHOD__,$type));
|
||||
}
|
||||
if ($object == null) {
|
||||
$object = $this;
|
||||
@@ -370,7 +336,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
} else if ($entry instanceof Notice) {
|
||||
return $preamble . $entry->asAtomEntry(true, true);
|
||||
} else {
|
||||
throw new ServerException("Invalid type passed to Ostatus_profile::notify; must be XML string or Activity entry");
|
||||
// TRANS: Server exception.
|
||||
throw new ServerException(_m('Invalid type passed to Ostatus_profile::notify. It must be XML string or Activity entry.'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -400,7 +367,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
} else if ($feed->localName == 'rss') { // @fixme check namespace
|
||||
$this->processRssFeed($feed, $source);
|
||||
} else {
|
||||
throw new Exception("Unknown feed format.");
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Unknown feed format.'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -423,7 +391,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
$channels = $rss->getElementsByTagName('channel');
|
||||
|
||||
if ($channels->length == 0) {
|
||||
throw new Exception("RSS feed without a channel.");
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('RSS feed without a channel.'));
|
||||
} else if ($channels->length > 1) {
|
||||
common_log(LOG_WARNING, __METHOD__ . ": more than one channel in an RSS feed");
|
||||
}
|
||||
@@ -467,7 +436,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new ClientException("Can't handle that kind of post.");
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m('Can\'t handle that kind of post.'));
|
||||
}
|
||||
|
||||
Event::handle('EndHandleFeedEntry', array($activity));
|
||||
@@ -549,13 +519,14 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
$sourceContent = $note->title;
|
||||
} else {
|
||||
// @fixme fetch from $sourceUrl?
|
||||
throw new ClientException("No content for notice {$sourceUri}");
|
||||
// TRANS: Client exception. %s is a source URI.
|
||||
throw new ClientException(sprintf(_m('No content for notice %s.'),$sourceUri));
|
||||
}
|
||||
|
||||
// Get (safe!) HTML and text versions of the content
|
||||
|
||||
$rendered = $this->purify($sourceContent);
|
||||
$content = html_entity_decode(strip_tags($rendered));
|
||||
$content = html_entity_decode(strip_tags($rendered), ENT_QUOTES, 'UTF-8');
|
||||
|
||||
$shortened = common_shorten_links($content);
|
||||
|
||||
@@ -566,7 +537,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
if (Notice::contentTooLong($shortened)) {
|
||||
$attachment = $this->saveHTMLFile($note->title, $rendered);
|
||||
$summary = html_entity_decode(strip_tags($note->summary));
|
||||
$summary = html_entity_decode(strip_tags($note->summary), ENT_QUOTES, 'UTF-8');
|
||||
if (empty($summary)) {
|
||||
$summary = $content;
|
||||
}
|
||||
@@ -580,12 +551,17 @@ class Ostatus_profile extends Memcached_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
|
||||
// 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');
|
||||
$attachUrl = common_local_url('attachment',
|
||||
array('attachment' => $attachment->id));
|
||||
$rendered = common_render_text($shortSummary) .
|
||||
'<a href="' . htmlspecialchars($attachUrl) .'"'.
|
||||
' class="attachment more"' .
|
||||
' title="'. htmlspecialchars(_m('Show more')) . '">' .
|
||||
' title="'. htmlspecialchars($showMoreText) . '">' .
|
||||
'…' .
|
||||
'</a>';
|
||||
}
|
||||
@@ -699,21 +675,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
continue;
|
||||
}
|
||||
|
||||
// Is the recipient a remote group?
|
||||
$oprofile = Ostatus_profile::staticGet('uri', $recipient);
|
||||
if ($oprofile) {
|
||||
if ($oprofile->isGroup()) {
|
||||
// Deliver to local members of this remote group.
|
||||
// @fixme sender verification?
|
||||
$groups[] = $oprofile->group_id;
|
||||
} else {
|
||||
common_log(LOG_DEBUG, "Skipping reply to remote profile $recipient");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
// Is the recipient a local group?
|
||||
// @fixme uri on user_group isn't reliable yet
|
||||
// $group = User_group::staticGet('uri', $recipient);
|
||||
$id = OStatusPlugin::localGroupFromUrl($recipient);
|
||||
if ($id) {
|
||||
@@ -732,7 +694,22 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
}
|
||||
|
||||
common_log(LOG_DEBUG, "Skipping reply to unrecognized profile $recipient");
|
||||
// Is the recipient a remote user or group?
|
||||
try {
|
||||
$oprofile = Ostatus_profile::ensureProfileURI($recipient);
|
||||
if ($oprofile->isGroup()) {
|
||||
// Deliver to local members of this remote group.
|
||||
// @fixme sender verification?
|
||||
$groups[] = $oprofile->group_id;
|
||||
} else {
|
||||
// may be canonicalized or something
|
||||
$replies[] = $oprofile->uri;
|
||||
}
|
||||
continue;
|
||||
} catch (Exception $e) {
|
||||
// Neither a recognizable local nor remote user!
|
||||
common_log(LOG_DEBUG, "Skipping reply to unrecognized profile $recipient: " . $e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
$attention_uris = $replies;
|
||||
@@ -770,7 +747,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
$response = $client->get($profile_url);
|
||||
|
||||
if (!$response->isOk()) {
|
||||
throw new Exception("Could not reach profile page: " . $profile_url);
|
||||
// TRANS: Exception. %s is a profile URL.
|
||||
throw new Exception(sprintf(_m('Could not reach profile page %s.'),$profile_url));
|
||||
}
|
||||
|
||||
// Check if we have a non-canonical URL
|
||||
@@ -827,7 +805,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
return self::ensureFeedURL($feedurl, $hints);
|
||||
}
|
||||
|
||||
throw new Exception("Could not find a feed URL for profile page " . $finalUrl);
|
||||
// TRANS: Exception. %s is a URL.
|
||||
throw new Exception(sprintf(_m('Could not find a feed URL for profile page %s.'),$finalUrl));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -859,6 +838,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
$user = User::staticGet('id', $profile->id);
|
||||
|
||||
if (!empty($user)) {
|
||||
// @todo i18n FIXME: use sprintf and add i18n (?)
|
||||
throw new OStatusShadowException($profile, "'$profile_url' is the profile for local user '{$user->nickname}'.");
|
||||
}
|
||||
|
||||
@@ -963,8 +943,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
|
||||
// XXX: make some educated guesses here
|
||||
|
||||
throw new FeedSubException("Can't find enough profile information to make a feed.");
|
||||
// TRANS: Feed sub exception.
|
||||
throw new FeedSubException(_m('Can\'t find enough profile information to make a feed.'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1023,7 +1003,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
return;
|
||||
}
|
||||
if (!common_valid_http_url($url)) {
|
||||
throw new ServerException(sprintf(_m("Invalid avatar URL %s"), $url));
|
||||
// TRANS: Server exception. %s is a URL.
|
||||
throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url));
|
||||
}
|
||||
|
||||
if ($this->isGroup()) {
|
||||
@@ -1033,29 +1014,44 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
if (!$self) {
|
||||
throw new ServerException(sprintf(
|
||||
_m("Tried to update avatar for unsaved remote profile %s"),
|
||||
// TRANS: Server exception. %s is a URI.
|
||||
_m("Tried to update avatar for unsaved remote profile %s."),
|
||||
$this->uri));
|
||||
}
|
||||
|
||||
// @fixme this should be better encapsulated
|
||||
// ripped from oauthstore.php (for old OMB client)
|
||||
$temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
|
||||
if (!copy($url, $temp_filename)) {
|
||||
throw new ServerException(sprintf(_m("Unable to fetch avatar from %s"), $url));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
if ($this->isGroup()) {
|
||||
$id = $this->group_id;
|
||||
} else {
|
||||
$id = $this->profile_id;
|
||||
if ($this->isGroup()) {
|
||||
$id = $this->group_id;
|
||||
} else {
|
||||
$id = $this->profile_id;
|
||||
}
|
||||
// @fixme should we be using different ids?
|
||||
$imagefile = new ImageFile($id, $temp_filename);
|
||||
$filename = Avatar::filename($id,
|
||||
image_type_to_extension($imagefile->type),
|
||||
null,
|
||||
common_timestamp());
|
||||
rename($temp_filename, Avatar::path($filename));
|
||||
} catch (Exception $e) {
|
||||
unlink($temp_filename);
|
||||
throw $e;
|
||||
}
|
||||
// @fixme should we be using different ids?
|
||||
$imagefile = new ImageFile($id, $temp_filename);
|
||||
$filename = Avatar::filename($id,
|
||||
image_type_to_extension($imagefile->type),
|
||||
null,
|
||||
common_timestamp());
|
||||
rename($temp_filename, Avatar::path($filename));
|
||||
// @fixme hardcoded chmod is lame, but seems to be necessary to
|
||||
// keep from accidentally saving images from command-line (queues)
|
||||
// that can't be read from web server, which causes hard-to-notice
|
||||
// problems later on:
|
||||
//
|
||||
// http://status.net/open-source/issues/2663
|
||||
chmod(Avatar::path($filename), 0644);
|
||||
|
||||
$self->setOriginal($filename);
|
||||
|
||||
$orig = clone($this);
|
||||
@@ -1071,7 +1067,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
* @return mixed URL string or false
|
||||
*/
|
||||
|
||||
protected static function getActivityObjectAvatar($object, $hints=array())
|
||||
public static function getActivityObjectAvatar($object, $hints=array())
|
||||
{
|
||||
if ($object->avatarLinks) {
|
||||
$best = false;
|
||||
@@ -1224,7 +1220,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
if ($object->link && common_valid_http_url($object->link)) {
|
||||
return $object->link;
|
||||
}
|
||||
throw new ServerException("No author ID URI found");
|
||||
throw new ServerException("No author ID URI found.");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1254,11 +1250,13 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
$user = User::staticGet('uri', $homeuri);
|
||||
if ($user) {
|
||||
throw new Exception("Local user can't be referenced as remote.");
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Local user can\'t be referenced as remote.'));
|
||||
}
|
||||
|
||||
if (OStatusPlugin::localGroupFromUrl($homeuri)) {
|
||||
throw new Exception("Local group can't be referenced as remote.");
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Local group can\'t be referenced as remote.'));
|
||||
}
|
||||
|
||||
if (array_key_exists('feedurl', $hints)) {
|
||||
@@ -1309,7 +1307,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
$oprofile->profile_id = $profile->insert();
|
||||
if (!$oprofile->profile_id) {
|
||||
throw new ServerException("Can't save local profile");
|
||||
// TRANS: Server exception.
|
||||
throw new ServerException(_m('Can\'t save local profile.'));
|
||||
}
|
||||
} else {
|
||||
$group = new User_group();
|
||||
@@ -1319,14 +1318,16 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
$oprofile->group_id = $group->insert();
|
||||
if (!$oprofile->group_id) {
|
||||
throw new ServerException("Can't save local profile");
|
||||
// TRANS: Server exception.
|
||||
throw new ServerException(_m('Can\'t save local profile.'));
|
||||
}
|
||||
}
|
||||
|
||||
$ok = $oprofile->insert();
|
||||
|
||||
if (!$ok) {
|
||||
throw new ServerException("Can't save OStatus profile");
|
||||
// TRANS: Server exception.
|
||||
throw new ServerException(_m('Can\'t save OStatus profile.'));
|
||||
}
|
||||
|
||||
$avatar = self::getActivityObjectAvatar($object, $hints);
|
||||
@@ -1368,7 +1369,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
}
|
||||
|
||||
protected static function updateProfile($profile, $object, $hints=array())
|
||||
public static function updateProfile($profile, $object, $hints=array())
|
||||
{
|
||||
$orig = clone($profile);
|
||||
|
||||
@@ -1496,7 +1497,7 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
return $bio;
|
||||
}
|
||||
|
||||
protected static function getActivityObjectNickname($object, $hints=array())
|
||||
public static function getActivityObjectNickname($object, $hints=array())
|
||||
{
|
||||
if ($object->poco) {
|
||||
if (!empty($object->poco->preferredUsername)) {
|
||||
@@ -1513,8 +1514,11 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
}
|
||||
|
||||
// Try the profile url (like foo.example.com or example.com/user/foo)
|
||||
|
||||
$profileUrl = ($object->link) ? $object->link : $hints['profileurl'];
|
||||
if (!empty($object->link)) {
|
||||
$profileUrl = $object->link;
|
||||
} else if (!empty($hints['profileurl'])) {
|
||||
$profileUrl = $hints['profileurl'];
|
||||
}
|
||||
|
||||
if (!empty($profileUrl)) {
|
||||
$nickname = self::nicknameFromURI($profileUrl);
|
||||
@@ -1545,9 +1549,11 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
protected static function nicknameFromURI($uri)
|
||||
{
|
||||
preg_match('/(\w+):/', $uri, $matches);
|
||||
|
||||
$protocol = $matches[1];
|
||||
if (preg_match('/(\w+):/', $uri, $matches)) {
|
||||
$protocol = $matches[1];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
switch ($protocol) {
|
||||
case 'acct':
|
||||
@@ -1584,7 +1590,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
if ($uri !== false) {
|
||||
if (is_null($uri)) {
|
||||
// Negative cache entry
|
||||
throw new Exception('Not a valid webfinger address.');
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Not a valid webfinger address.'));
|
||||
}
|
||||
$oprofile = Ostatus_profile::staticGet('uri', $uri);
|
||||
if (!empty($oprofile)) {
|
||||
@@ -1611,7 +1618,8 @@ class Ostatus_profile extends Memcached_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);
|
||||
throw new Exception('Not a valid webfinger address.');
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Not a valid webfinger address.'));
|
||||
}
|
||||
|
||||
$hints = array('webfinger' => $addr);
|
||||
@@ -1692,7 +1700,8 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
if (!$profile_id) {
|
||||
common_log_db_error($profile, 'INSERT', __FILE__);
|
||||
throw new Exception("Couldn't save profile for '$addr'");
|
||||
// TRANS: Exception. %s is a webfinger address.
|
||||
throw new Exception(sprintf(_m('Couldn\'t save profile for "%s".'),$addr));
|
||||
}
|
||||
|
||||
$oprofile = new Ostatus_profile();
|
||||
@@ -1710,14 +1719,16 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
if (!$result) {
|
||||
common_log_db_error($oprofile, 'INSERT', __FILE__);
|
||||
throw new Exception("Couldn't save ostatus_profile for '$addr'");
|
||||
// TRANS: Exception. %s is a webfinger address.
|
||||
throw new Exception(sprintf(_m('Couldn\'t save ostatus_profile for "%s".'),$addr));
|
||||
}
|
||||
|
||||
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
|
||||
return $oprofile;
|
||||
}
|
||||
|
||||
throw new Exception("Couldn't find a valid profile for '$addr'");
|
||||
// TRANS: Exception. %s is a webfinger address.
|
||||
throw new Exception(sprintf(_m('Couldn\'t find a valid profile for "%s".'),$addr));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1759,11 +1770,43 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
|
||||
if ($file_id === false) {
|
||||
common_log_db_error($file, "INSERT", __FILE__);
|
||||
throw new ServerException(_('Could not store HTML content of long post as file.'));
|
||||
// TRANS: Server exception.
|
||||
throw new ServerException(_m('Could not store HTML content of long post as file.'));
|
||||
}
|
||||
|
||||
return $file;
|
||||
}
|
||||
|
||||
static function ensureProfileURI($uri)
|
||||
{
|
||||
$oprofile = null;
|
||||
|
||||
// First, try to query it
|
||||
|
||||
$oprofile = Ostatus_profile::staticGet('uri', $uri);
|
||||
|
||||
// If unfound, do discovery stuff
|
||||
|
||||
if (empty($oprofile)) {
|
||||
if (preg_match("/^(\w+)\:(.*)/", $uri, $match)) {
|
||||
$protocol = $match[1];
|
||||
switch ($protocol) {
|
||||
case 'http':
|
||||
case 'https':
|
||||
$oprofile = Ostatus_profile::ensureProfileURL($uri);
|
||||
break;
|
||||
case 'acct':
|
||||
case 'mailto':
|
||||
$rest = $match[2];
|
||||
$oprofile = Ostatus_profile::ensureWebfinger($rest);
|
||||
default:
|
||||
common_log("Unrecognized URI protocol for profile: $protocol ($uri)");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $oprofile;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1785,4 +1828,3 @@ class OStatusShadowException extends Exception
|
||||
parent::__construct($message);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -17,11 +17,14 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
class Ostatus_source extends Memcached_DataObject
|
||||
{
|
||||
public $__table = 'ostatus_source';
|
||||
@@ -43,7 +46,6 @@ class Ostatus_source extends Memcached_DataObject
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('notice_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
|
||||
@@ -69,7 +71,6 @@ class Ostatus_source extends Memcached_DataObject
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array_keys($this->keyTypes());
|
||||
@@ -83,7 +84,6 @@ class Ostatus_source extends Memcached_DataObject
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return array('notice_id' => 'K');
|
||||
|
@@ -106,7 +106,8 @@ class Discovery
|
||||
}
|
||||
}
|
||||
|
||||
throw new Exception('Unable to find services for '. $id);
|
||||
// TRANS: Exception.
|
||||
throw new Exception(sprintf(_m('Unable to find services for %s.'),$id));
|
||||
}
|
||||
|
||||
public static function getService($links, $service) {
|
||||
@@ -160,7 +161,7 @@ class Discovery_LRDD_Host_Meta implements Discovery_LRDD
|
||||
} else {
|
||||
$domain = parse_url($uri, PHP_URL_HOST);
|
||||
}
|
||||
|
||||
|
||||
$url = 'http://'. $domain .'/.well-known/host-meta';
|
||||
|
||||
$xrd = Discovery::fetchXrd($url);
|
||||
|
@@ -20,7 +20,6 @@
|
||||
*/
|
||||
|
||||
class DiscoveryHints {
|
||||
|
||||
static function fromXRD($xrd)
|
||||
{
|
||||
$hints = array();
|
||||
|
@@ -22,7 +22,9 @@
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class FeedSubBadURLException extends FeedSubException
|
||||
{
|
||||
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a PuSH subscription verification from our internal hub.
|
||||
* @package Hub
|
||||
@@ -51,4 +55,3 @@ class HubConfQueueHandler extends QueueHandler
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a raw PuSH atom update from our internal hub.
|
||||
* @package Hub
|
||||
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* When we have a large batch of PuSH consumers, we break the data set
|
||||
* into smaller chunks. Enqueue final destinations...
|
||||
|
@@ -1,4 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* @todo Add file header and documentation.
|
||||
*/
|
||||
|
||||
class LinkHeader
|
||||
{
|
||||
|
@@ -32,7 +32,7 @@ class MagicEnvelope
|
||||
const ENCODING = 'base64url';
|
||||
|
||||
const NS = 'http://salmon-protocol.org/ns/magic-env';
|
||||
|
||||
|
||||
private function normalizeUser($user_id)
|
||||
{
|
||||
if (substr($user_id, 0, 5) == 'http:' ||
|
||||
@@ -70,13 +70,14 @@ class MagicEnvelope
|
||||
$keypair = $parts[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($keypair) {
|
||||
return $keypair;
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new Exception('Unable to locate signer public key');
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Unable to locate signer public key.'));
|
||||
}
|
||||
|
||||
|
||||
@@ -92,8 +93,6 @@ class MagicEnvelope
|
||||
'sig' => $signature_alg->sign($armored_text),
|
||||
'alg' => $signature_alg->getName()
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function toXML($env) {
|
||||
@@ -105,13 +104,12 @@ class MagicEnvelope
|
||||
$xs->element('me:alg', null, $env['alg']);
|
||||
$xs->element('me:sig', null, $env['sig']);
|
||||
$xs->elementEnd('me:env');
|
||||
|
||||
|
||||
$string = $xs->getString();
|
||||
common_debug($string);
|
||||
return $string;
|
||||
}
|
||||
|
||||
|
||||
public function unfold($env)
|
||||
{
|
||||
$dom = new DOMDocument();
|
||||
@@ -137,7 +135,7 @@ class MagicEnvelope
|
||||
|
||||
return $dom->saveXML();
|
||||
}
|
||||
|
||||
|
||||
public function getAuthor($text) {
|
||||
$doc = new DOMDocument();
|
||||
if (!$doc->loadXML($text)) {
|
||||
@@ -154,12 +152,12 @@ class MagicEnvelope
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function checkAuthor($text, $signer_uri)
|
||||
{
|
||||
return ($this->getAuthor($text) == $signer_uri);
|
||||
}
|
||||
|
||||
|
||||
public function verify($env)
|
||||
{
|
||||
if ($env['alg'] != 'RSA-SHA256') {
|
||||
@@ -181,14 +179,14 @@ class MagicEnvelope
|
||||
common_log(LOG_DEBUG, "Salmon error: ".$e->getMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$verifier = Magicsig::fromString($keypair);
|
||||
|
||||
if (!$verifier) {
|
||||
common_log(LOG_DEBUG, "Salmon error: unable to parse keypair");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return $verifier->verify($env['data'], $env['sig']);
|
||||
}
|
||||
|
||||
@@ -219,5 +217,4 @@ class MagicEnvelope
|
||||
'sig' => preg_replace('/\s/', '', $sig_element->nodeValue),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare PuSH and Salmon distributions for an outgoing message.
|
||||
*
|
||||
@@ -67,6 +71,17 @@ class OStatusQueueHandler extends QueueHandler
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($this->notice->reply_to)) {
|
||||
$replyTo = Notice::staticGet('id', $this->notice->reply_to);
|
||||
if (!empty($replyTo)) {
|
||||
foreach($replyTo->getReplies() as $profile_id) {
|
||||
$oprofile = Ostatus_profile::staticGet('profile_id', $profile_id);
|
||||
if ($oprofile) {
|
||||
$this->pingReply($oprofile);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -161,7 +176,7 @@ class OStatusQueueHandler extends QueueHandler
|
||||
* Queue up direct feed update pushes to subscribers on our internal hub.
|
||||
* If there are a large number of subscriber sites, intermediate bulk
|
||||
* distribution triggers may be queued.
|
||||
*
|
||||
*
|
||||
* @param string $atom update feed, containing only new/changed items
|
||||
* @param HubSub $sub open query of subscribers
|
||||
*/
|
||||
@@ -210,6 +225,4 @@ class OStatusQueueHandler extends QueueHandler
|
||||
|
||||
return $feed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@@ -17,12 +17,15 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a feed distribution POST from a PuSH hub.
|
||||
* @package FeedSub
|
||||
* @author Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
class PushInQueueHandler extends QueueHandler
|
||||
{
|
||||
function transport()
|
||||
|
@@ -31,10 +31,10 @@ class Salmon
|
||||
const REL_SALMON = 'salmon';
|
||||
const REL_MENTIONED = 'mentioned';
|
||||
|
||||
// XXX: these are deprecated
|
||||
// XXX: these are deprecated
|
||||
const NS_REPLIES = "http://salmon-protocol.org/ns/salmon-replies";
|
||||
const NS_MENTIONS = "http://salmon-protocol.org/ns/salmon-mention";
|
||||
|
||||
|
||||
/**
|
||||
* Sign and post the given Atom entry as a Salmon message.
|
||||
*
|
||||
@@ -87,9 +87,10 @@ class Salmon
|
||||
// No keypair yet, let's generate one.
|
||||
$magickey = new Magicsig();
|
||||
$magickey->generate($user->id);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new Exception("Salmon invalid actor for signing");
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Salmon invalid actor for signing.'));
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -100,11 +101,10 @@ class Salmon
|
||||
return $magic_env->toXML($env);
|
||||
}
|
||||
|
||||
|
||||
public function verifyMagicEnv($text)
|
||||
{
|
||||
$magic_env = new MagicEnvelope();
|
||||
|
||||
|
||||
$env = $magic_env->parse($text);
|
||||
|
||||
return $magic_env->verify($env);
|
||||
|
@@ -38,11 +38,13 @@ class SalmonAction extends Action
|
||||
parent::prepare($args);
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
|
||||
// TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
$this->clientError(_m('This method requires a POST.'));
|
||||
}
|
||||
|
||||
if (empty($_SERVER['CONTENT_TYPE']) || $_SERVER['CONTENT_TYPE'] != 'application/magic-envelope+xml') {
|
||||
$this->clientError(_m('Salmon requires application/magic-envelope+xml'));
|
||||
// TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
$this->clientError(_m('Salmon requires "application/magic-envelope+xml".'));
|
||||
}
|
||||
|
||||
$xml = file_get_contents('php://input');
|
||||
@@ -51,6 +53,7 @@ class SalmonAction extends Action
|
||||
$salmon = new Salmon;
|
||||
if (!$salmon->verifyMagicEnv($xml)) {
|
||||
common_log(LOG_DEBUG, "Salmon signature verification failed.");
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m('Salmon signature verification failed.'));
|
||||
} else {
|
||||
$magic_env = new MagicEnvelope();
|
||||
@@ -62,6 +65,7 @@ class SalmonAction extends Action
|
||||
if ($dom->documentElement->namespaceURI != Activity::ATOM ||
|
||||
$dom->documentElement->localName != 'entry') {
|
||||
common_log(LOG_DEBUG, "Got invalid Salmon post: $xml");
|
||||
// TRANS: Client error.
|
||||
$this->clientError(_m('Salmon post must be an Atom entry.'));
|
||||
}
|
||||
|
||||
@@ -110,6 +114,7 @@ class SalmonAction extends Action
|
||||
$this->handleUpdateProfile();
|
||||
break;
|
||||
default:
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("Unrecognized activity type."));
|
||||
}
|
||||
Event::handle('EndHandleSalmon', array($this->activity));
|
||||
@@ -118,41 +123,49 @@ class SalmonAction extends Action
|
||||
|
||||
function handlePost()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand posts."));
|
||||
}
|
||||
|
||||
function handleFollow()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand follows."));
|
||||
}
|
||||
|
||||
function handleUnfollow()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand unfollows."));
|
||||
}
|
||||
|
||||
function handleFavorite()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand favorites."));
|
||||
}
|
||||
|
||||
function handleUnfavorite()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand unfavorites."));
|
||||
}
|
||||
|
||||
function handleShare()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand share events."));
|
||||
}
|
||||
|
||||
function handleJoin()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand joins."));
|
||||
}
|
||||
|
||||
function handleLeave()
|
||||
{
|
||||
// TRANS: Client exception.
|
||||
throw new ClientException(_m("This target doesn't understand leave events."));
|
||||
}
|
||||
|
||||
@@ -180,7 +193,8 @@ class SalmonAction extends Action
|
||||
if (empty($actor->id)) {
|
||||
common_log(LOG_ERR, "broken actor: " . var_export($actor, true));
|
||||
common_log(LOG_ERR, "activity with no actor: " . var_export($this->activity, true));
|
||||
throw new Exception("Received a salmon slap from unidentified actor.");
|
||||
// TRANS: Exception.
|
||||
throw new Exception(_m('Received a salmon slap from unidentified actor.'));
|
||||
}
|
||||
|
||||
return Ostatus_profile::ensureActivityObjectProfile($actor);
|
||||
|
@@ -17,6 +17,10 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a Salmon notification in the background.
|
||||
* @package OStatusPlugin
|
||||
@@ -36,7 +40,7 @@ class SalmonQueueHandler extends QueueHandler
|
||||
assert(is_string($data['entry']));
|
||||
|
||||
$actor = Profile::staticGet($data['actor']);
|
||||
|
||||
|
||||
$salmon = new Salmon();
|
||||
$salmon->post($data['salmonuri'], $data['entry'], $actor);
|
||||
|
||||
|
@@ -1,172 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, Inc.
|
||||
*
|
||||
* A sample module to show best practices for StatusNet plugins
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* 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 StatusNet
|
||||
* @author James Walker <james@status.net>
|
||||
* @copyright 2010 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
|
||||
class XRD
|
||||
{
|
||||
const XML_NS = 'http://www.w3.org/2000/xmlns/';
|
||||
|
||||
const XRD_NS = 'http://docs.oasis-open.org/ns/xri/xrd-1.0';
|
||||
|
||||
const HOST_META_NS = 'http://host-meta.net/xrd/1.0';
|
||||
|
||||
public $expires;
|
||||
|
||||
public $subject;
|
||||
|
||||
public $host;
|
||||
|
||||
public $alias = array();
|
||||
|
||||
public $types = array();
|
||||
|
||||
public $links = array();
|
||||
|
||||
public static function parse($xml)
|
||||
{
|
||||
$xrd = new XRD();
|
||||
|
||||
$dom = new DOMDocument();
|
||||
|
||||
// Don't spew XML warnings to output
|
||||
$old = error_reporting();
|
||||
error_reporting($old & ~E_WARNING);
|
||||
$ok = $dom->loadXML($xml);
|
||||
error_reporting($old);
|
||||
|
||||
if (!$ok) {
|
||||
throw new Exception("Invalid XML");
|
||||
}
|
||||
$xrd_element = $dom->getElementsByTagName('XRD')->item(0);
|
||||
if (!$xrd_element) {
|
||||
throw new Exception("Invalid XML, missing XRD root");
|
||||
}
|
||||
|
||||
// Check for host-meta host
|
||||
$host = $xrd_element->getElementsByTagName('Host')->item(0);
|
||||
if ($host) {
|
||||
$xrd->host = $host->nodeValue;
|
||||
}
|
||||
|
||||
// Loop through other elements
|
||||
foreach ($xrd_element->childNodes as $node) {
|
||||
if (!($node instanceof DOMElement)) {
|
||||
continue;
|
||||
}
|
||||
switch ($node->tagName) {
|
||||
case 'Expires':
|
||||
$xrd->expires = $node->nodeValue;
|
||||
break;
|
||||
case 'Subject':
|
||||
$xrd->subject = $node->nodeValue;
|
||||
break;
|
||||
|
||||
case 'Alias':
|
||||
$xrd->alias[] = $node->nodeValue;
|
||||
break;
|
||||
|
||||
case 'Link':
|
||||
$xrd->links[] = $xrd->parseLink($node);
|
||||
break;
|
||||
|
||||
case 'Type':
|
||||
$xrd->types[] = $xrd->parseType($node);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
return $xrd;
|
||||
}
|
||||
|
||||
public function toXML()
|
||||
{
|
||||
$xs = new XMLStringer();
|
||||
|
||||
$xs->startXML();
|
||||
$xs->elementStart('XRD', array('xmlns' => XRD::XRD_NS));
|
||||
|
||||
if ($this->host) {
|
||||
$xs->element('hm:Host', array('xmlns:hm' => XRD::HOST_META_NS), $this->host);
|
||||
}
|
||||
|
||||
if ($this->expires) {
|
||||
$xs->element('Expires', null, $this->expires);
|
||||
}
|
||||
|
||||
if ($this->subject) {
|
||||
$xs->element('Subject', null, $this->subject);
|
||||
}
|
||||
|
||||
foreach ($this->alias as $alias) {
|
||||
$xs->element('Alias', null, $alias);
|
||||
}
|
||||
|
||||
foreach ($this->links as $link) {
|
||||
$titles = array();
|
||||
if (isset($link['title'])) {
|
||||
$titles = $link['title'];
|
||||
unset($link['title']);
|
||||
}
|
||||
$xs->elementStart('Link', $link);
|
||||
foreach ($titles as $title) {
|
||||
$xs->element('Title', null, $title);
|
||||
}
|
||||
$xs->elementEnd('Link');
|
||||
}
|
||||
|
||||
$xs->elementEnd('XRD');
|
||||
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
function parseType($element)
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
function parseLink($element)
|
||||
{
|
||||
$link = array();
|
||||
$link['rel'] = $element->getAttribute('rel');
|
||||
$link['type'] = $element->getAttribute('type');
|
||||
$link['href'] = $element->getAttribute('href');
|
||||
$link['template'] = $element->getAttribute('template');
|
||||
foreach ($element->childNodes as $node) {
|
||||
if ($node instanceof DOMElement) {
|
||||
switch($node->tagName) {
|
||||
case 'Title':
|
||||
$link['title'][] = $node->nodeValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $link;
|
||||
}
|
||||
}
|
||||
|
@@ -1,108 +0,0 @@
|
||||
<?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 XrdAction extends Action
|
||||
{
|
||||
|
||||
public $uri;
|
||||
|
||||
public $user;
|
||||
|
||||
public $xrd;
|
||||
|
||||
function handle()
|
||||
{
|
||||
$nick = $this->user->nickname;
|
||||
|
||||
if (empty($this->xrd)) {
|
||||
$xrd = new XRD();
|
||||
} else {
|
||||
$xrd = $this->xrd;
|
||||
}
|
||||
|
||||
if (empty($xrd->subject)) {
|
||||
$xrd->subject = Discovery::normalize($this->uri);
|
||||
}
|
||||
$xrd->alias[] = $this->user->uri;
|
||||
$xrd->links[] = array('rel' => Discovery::PROFILEPAGE,
|
||||
'type' => 'text/html',
|
||||
'href' => $this->user->uri);
|
||||
|
||||
$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' => $this->user->uri);
|
||||
// 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 );
|
||||
|
||||
header('Content-type: application/xrd+xml');
|
||||
print $xrd->toXML();
|
||||
}
|
||||
|
||||
}
|
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-04-29 23:39+0000\n"
|
||||
"POT-Creation-Date: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -16,316 +16,736 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: OStatusPlugin.php:210 OStatusPlugin.php:913 actions/ostatusinit.php:99
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:228 OStatusPlugin.php:635 actions/ostatussub.php:105
|
||||
#: actions/ostatusinit.php:96
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:451
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:503
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:619
|
||||
#: OStatusPlugin.php:603
|
||||
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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:636
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%s has joined group %s."
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:644
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:684
|
||||
#: OStatusPlugin.php:705
|
||||
msgid "Leave"
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:685
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%s has left group %s."
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:844
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, php-format
|
||||
msgid "%1$s marked notice %2$s as no longer a favorite."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:883
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:884
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:928
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
|
||||
#: classes/Ostatus_profile.php:566
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
msgid "Attempting to end PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, php-format
|
||||
msgid "No content for notice %s."
|
||||
msgstr ""
|
||||
|
||||
#. 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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Ostatus_profile.php:1004
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s"
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr ""
|
||||
|
||||
#: classes/Ostatus_profile.php:1014
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s"
|
||||
msgid "Could not find a feed URL for profile page %s."
|
||||
msgstr ""
|
||||
|
||||
#: classes/Ostatus_profile.php:1022
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s"
|
||||
#. TRANS: Feed sub exception.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:41
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, php-format
|
||||
msgid "Hub subscriber verification returned HTTP %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:45
|
||||
msgid "Salmon requires application/magic-envelope+xml"
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:55
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:67
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:115
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:123
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:128
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:133
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:138
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:143
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:148
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:153
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr ""
|
||||
|
||||
#: lib/salmonaction.php:158
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr ""
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusgroup.php:75
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Unsupported hub.topic %s this hub only serves local user and group Atom "
|
||||
"feeds."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:99
|
||||
#, php-format
|
||||
msgid "Invalid hub.verify \"%s\". It must be sync or async."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:105
|
||||
#, php-format
|
||||
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:113
|
||||
#, php-format
|
||||
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr ""
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
msgid "Notice with ID %1$s not posted by %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusgroup.php:77
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname"
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusgroup.php:81 actions/ostatussub.php:71
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusgroup.php:100
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:135
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:146
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:150
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:163
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusgroup.php:174
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:51
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:124
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:127 actions/groupsalmon.php:170
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:154
|
||||
#: actions/groupsalmon.php:144
|
||||
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.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
msgid "Could not join remote user %1$s to group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:167
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:183
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:65
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:67
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
msgid ""
|
||||
"OStatus user's address, like nickname@example.com or http://example.net/"
|
||||
"nickname"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:106
|
||||
#. TRANS: Button text.
|
||||
#. TRANS: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:108 actions/ostatussub.php:400
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:109
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:130
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:247 actions/ostatussub.php:253
|
||||
#: actions/ostatussub.php:272
|
||||
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"
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:259
|
||||
#: actions/ostatussub.php:262 actions/ostatussub.php:265
|
||||
#: actions/ostatussub.php:268
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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 ""
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:301
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:306
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:380 actions/ostatusinit.php:81
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:411
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:41
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:63
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:95
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:98
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:111
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:112
|
||||
msgid "Nickname of the user you want to follow"
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:116
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:117
|
||||
msgid "Your account id (i.e. user@identi.ca)"
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:138
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:149
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:161
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusinit.php:202
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr ""
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, php-format
|
||||
msgid "Bad hub.topic feed \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr ""
|
||||
|
756
plugins/OStatus/locale/br/LC_MESSAGES/OStatus.po
Normal file
756
plugins/OStatus/locale/br/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,756 @@
|
||||
# Translation of StatusNet - OStatus to Breton (Brezhoneg)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: Y-M D
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12:44+0000\n"
|
||||
"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-POT-Import-Date: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: br\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "Koumanantiñ"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Stagañ"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr "Kaset adalek %s dre OStatus"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
msgid "Unfollow"
|
||||
msgstr "Chom hep heuliañ"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr "%1$s a zo bet er strollad %2$s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
msgid "Leave"
|
||||
msgstr "Kuitaat"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, php-format
|
||||
msgid "%1$s marked notice %2$s as no longer a favorite."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
msgid "Attempting to end PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, php-format
|
||||
msgid "No content for notice %s."
|
||||
msgstr ""
|
||||
|
||||
#. 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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Diskouez muioc'h"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
msgid "Could not find a feed URL for profile page %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Feed sub exception.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, php-format
|
||||
msgid "Hub subscriber verification returned HTTP %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr ""
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Lanvioù"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Unsupported hub.topic %s this hub only serves local user and group Atom "
|
||||
"feeds."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:99
|
||||
#, php-format
|
||||
msgid "Invalid hub.verify \"%s\". It must be sync or async."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:105
|
||||
#, php-format
|
||||
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:113
|
||||
#, php-format
|
||||
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr ""
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr "N'eus ket eus an implijer-se."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr "ID ebet"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
msgid "Notice with ID %1$s not posted by %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Mont er strollad"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr "Kenderc'hel"
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr "Ezel oc'h dija !"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr "N'eus ket eus ar strollad-se."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
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.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
msgid "Could not join remote user %1$s to group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "Koumanantiñ da"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
msgid ""
|
||||
"OStatus user's address, like nickname@example.com or http://example.net/"
|
||||
"nickname"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Button text.
|
||||
#. TRANS: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Mont er strollad-se"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Kadarnaat"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "En em goumanantiñ d'an implijer-mañ"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "Koumanantet oc'h dija d'an implijerien-mañ."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Skeudenn"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Lesanv"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Lec'hiadur"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Notenn"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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 ""
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "Koumanantet dija !"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "En em goumanantiñ d'un implijer"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Kadarnaat"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Mont er strollad %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Stagañ"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "Koumanantiñ da %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "Koumanantiñ"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Lesanv an implijer"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Lesanv an implijer ho peus c'hoant heuliañ."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Kont profil"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr "Kevreadenn OStatus"
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, php-format
|
||||
msgid "Bad hub.topic feed \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr ""
|
809
plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
Normal file
809
plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,809 @@
|
||||
# Translation of StatusNet - OStatus to French (Français)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: Peter17
|
||||
# Author: Verdy p
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12:44+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: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: fr\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "S'abonner"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Rejoindre"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr "Envoyé depuis %s via OStatus"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr "Impossible de mettre en place l’abonnement distant."
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
msgid "Unfollow"
|
||||
msgstr "Ne plus suivre"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr "%1$s a cessé de suivre %2$s."
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
msgstr "Impossible de mettre en place l’appartenance au groupe distant."
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr "%1$s a rejoint le groupe %2$s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr "Échec lors de l’adhésion au groupe distant."
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
msgid "Leave"
|
||||
msgstr "Sortir"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr "%1$s a quitté le groupe %2$s."
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
msgstr "Retirer des favoris"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, php-format
|
||||
msgid "%1$s marked notice %2$s as no longer a favorite."
|
||||
msgstr "%1$s a retiré l’avis %2$s de ses favoris."
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr "À distance"
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr "Mise à jour du profil"
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr "%s a mis à jour sa page de profil."
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
"Suivez les personnes à travers les réseaux sociaux mettant en œuvre <a href="
|
||||
"\"http://ostatus.org/\">OStatus</a> ."
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
"Tente de démarrer l’inscription PuSH à un flux d’information sans "
|
||||
"concentrateur."
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
msgid "Attempting to end PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
"Tente d’arrêter l’inscription PuSH à un flux d’information sans "
|
||||
"concentrateur."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
"État invalide du profil OStatus : identifiants à la fois de groupe et de "
|
||||
"profil définis pour « %s »."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, 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.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr "Type d’acteur invalide passé à la méthode « %1$s » : « %2$s »."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
"Type invalide passé à la méthode « Ostatus_profile::notify ». Ce doit être "
|
||||
"une chaîne XML ou une entrée « Activity »."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr "Format de flux d’information inconnu."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr "Flux RSS sans canal."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
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.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, php-format
|
||||
msgid "No content for notice %s."
|
||||
msgstr "Aucun contenu dans l’avis « %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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Voir davantage"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr "Impossible d’atteindre la page de profil « %s »."
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
msgid "Could not find a feed URL for profile page %s."
|
||||
msgstr ""
|
||||
"Impossible de trouver une adresse URL de flux d’information pour la page de "
|
||||
"profil « %s »."
|
||||
|
||||
#. TRANS: Feed sub exception.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
"Impossible de trouver assez d’informations de profil pour créer un flux "
|
||||
"d’information."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr "Adresse URL d’avatar « %s » invalide."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr ""
|
||||
"Tente de mettre à jour l’avatar associé au profil distant non sauvegardé « %s "
|
||||
"»."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr "Impossible de récupérer l’avatar depuis « %s »."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr "L’utilisateur local ne peut être référencé comme distant."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr "Le groupe local ne peut être référencé comme distant."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr "Impossible de sauvegarder le profil local."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr "Impossible de sauvegarder le profil OStatus."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr "Ce n’est pas une adresse « webfinger » valide."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr "Impossible de sauvegarder le profil pour « %s »."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr "Impossible d’enregistrer le profil OStatus pour « %s »."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr "Impossible de trouver un profil valide pour « %s »."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr ""
|
||||
"Impossible de stocker le contenu HTML d’une longue publication en un fichier."
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, php-format
|
||||
msgid "Hub subscriber verification returned HTTP %s."
|
||||
msgstr ""
|
||||
"La vérification d’abonné sur le concentrateur a retourné le statut HTTP « %s "
|
||||
"»."
|
||||
|
||||
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr "La routine de rappel a retourné le statut « %1$s ». Corps : %2$s"
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
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"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr "Salmon exige le type « application/magic-envelope+xml »."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr "La vérification de signature Salmon a échoué."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr "Une publication Salmon doit être une entrée « Atom »."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr "Type d’activité non reconnu."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr "Cette cible ne reconnaît pas les publications."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr "Cette cible ne reconnaît pas les indications de début de suivi."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr "Cette cible ne reconnaît pas les indications de fin de suivi."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr "Cette cible ne reconnaît pas les indications de mise en favoris."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr "Cette cible ne reconnaît pas les indications de retrait des favoris."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr "Cette cible ne reconnaît pas les évènements partagés."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr "Cette cible ne reconnaît pas les indications d’adhésion."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr "Cette cible ne reconnaît pas les indications de retrait d’évènements."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr "Réception d’une giffle Salmon d’un acteur non identifié."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr "Impossible de trouver des services pour « %s »."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr "Impossible de trouver la clé publique du signataire."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr "Acteur Salmon invalide pour la signature."
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Flux d’informations"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr "La publication des flux externes n’est pas supportée."
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr "Mode « %s » non reconnu."
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Unsupported hub.topic %s this hub only serves local user and group Atom "
|
||||
"feeds."
|
||||
msgstr ""
|
||||
"Le sujet de concentrateur « %s » n’est pas supporté. Ce concentrateur ne sert "
|
||||
"que les flux Atom d’utilisateurs et groupes locaux."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:99
|
||||
#, 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.
|
||||
#: actions/pushhub.php:105
|
||||
#, 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.
|
||||
#: actions/pushhub.php:113
|
||||
#, 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.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr ""
|
||||
"Le sujet de concentrateur « %s » est invalide. L’utilisateur n’existe pas."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
|
||||
msgstr "Le sujet de concentrateur « %s » est invalide. Le groupe n’existe pas."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr "URL invalide passée à la méthode « %1$s » : « %2$s »"
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr "Utilisateur inexistant."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr "Aucun identifiant."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr "En réponse à l’avis inconnu."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
"En réponse à un avis non émis par cet utilisateur et ne mentionnant pas cet "
|
||||
"utilisateur."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr "Impossible de sauvegarder le nouveau favori."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr "Impossible de mettre en favoris ou retirer des favoris sans un objet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
"Impossible de gérer ce genre d’objet parmi les sujets appréciés ou favoris."
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr "Avis d’identifiant « %s » inconnu."
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
msgid "Notice with ID %1$s not posted by %2$s."
|
||||
msgstr "Avis d’identifiant « %1$s » non publié par %2$s."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Rejoindre le groupe"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
"Une adresse de groupe OStatus telle que « http://example.net/group/pseudonyme "
|
||||
"»."
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr "Vous êtes déjà membre de ce groupe."
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr "Déjà membre !"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr "L’adhésion au groupe distant a échoué !"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr "L’adhésion au groupe distant a été avortée !"
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr "Confirmer l’adhésion au groupe distant"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
"Vous pouvez souscrire aux groupes d’autres sites supportés. Collez l’adresse "
|
||||
"URI du profil du groupe ci-dessous :"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr "Groupe inexistant."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr ""
|
||||
"Impossible d’accepter des envois distants de messages pour un groupe distant."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr ""
|
||||
"Impossible de lire le profil pour mettre en place l’adhésion à un groupe."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr "Les groupes ne peuvent pas adhérer à des groupes."
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
msgid "You have been blocked from that group by the admin."
|
||||
msgstr "Vous avez été bloqué de ce groupe par l’administrateur."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
msgid "Could not join remote user %1$s to group %2$s."
|
||||
msgstr "Impossible d’inscrire l’utilisateur distant %1$s au groupe %2$s."
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr "Impossible de lire le profil pour annuler l’adhésion à un groupe."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr "Impossible de retirer l’utilisateur distant %1$s du groupe %2$s."
|
||||
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "S’abonner à"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
msgid ""
|
||||
"OStatus user's address, like nickname@example.com or http://example.net/"
|
||||
"nickname"
|
||||
msgstr ""
|
||||
"Adresse d’un utilisateur OStatus ou de sa page de profil, telle que "
|
||||
"pseudonyme@example.com ou http://example.net/pseudonyme"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#. TRANS: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Rejoindre ce groupe"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "S’abonner à cet utilisateur"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "Vous êtes déjà abonné à cet utilisateur."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Photo"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Pseudonyme"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Emplacement"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "Adresse URL"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Note"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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 n’avons pas pu atteindre cette adresse. Veuillez vous assurer "
|
||||
"que l’adresse OStatus de l’utilisateur ou de sa page de profil est de la "
|
||||
"forme pseudonyme@example.com ou http://example.net/pseudonyme."
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
"Désolé, nous n’avons pas pu atteindre ce flux. Veuillez réessayer plus tard "
|
||||
"cette adresse OStatus."
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "Déjà abonné !"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr "Ĺ’abonnement distant a échoué !"
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
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 à "
|
||||
"nouveau."
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "S’abonner à un utilisateur"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmer"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
"Vous pouvez vous abonner aux utilisateurs d’autres sites pris en charge. "
|
||||
"Collez leur adresse ou l’URI de leur profil ci-dessous :"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr "Vous pouvez utiliser l’abonnement local !"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Rejoindre le groupe « %s »"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Rejoindre"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "S’abonner à « %s »"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "S’abonner"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Pseudonyme de l’utilisateur"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Pseudonyme de l’utilisateur que vous voulez suivre."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Compte de profil"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr "Votre identifiant de compte (utilisateur@identi.ca, par exemple)."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr "Vous devez fournir un profil distant."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr "Impossible de consulter le profil de compte OStatus."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr "Impossible de confirmer l’adresse de profil distant."
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr "Connexion OStatus"
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr "Identifiant de flux vide ou invalide."
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr "Identifiant de flux PuSH inconnu : « %s »"
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, php-format
|
||||
msgid "Bad hub.topic feed \"%s\"."
|
||||
msgstr "Flux de sujet de concentrateur incorrect : « %s »"
|
||||
|
||||
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr ""
|
||||
"Jeton de vérification de concentrateur incorrect « %1$s » pour le sujet « %2$s "
|
||||
"»."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr "Demande d’abonnement inattendue pour le sujet invalide « %s »."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr "Demande de désabonnement inattendue pour le sujet invalide « %s »."
|
756
plugins/OStatus/locale/gl/LC_MESSAGES/OStatus.po
Normal file
756
plugins/OStatus/locale/gl/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,756 @@
|
||||
# Translation of StatusNet - OStatus to Galician (Galego)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: Toliño
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12:44+0000\n"
|
||||
"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-POT-Import-Date: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: gl\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "Subscribirse"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Unirse"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
msgid "Leave"
|
||||
msgstr "Deixar"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, php-format
|
||||
msgid "%1$s marked notice %2$s as no longer a favorite."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr "Actualización do perfil"
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
msgid "Attempting to end PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, php-format
|
||||
msgid "No content for notice %s."
|
||||
msgstr ""
|
||||
|
||||
#. 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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Mostrar máis"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
msgid "Could not find a feed URL for profile page %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Feed sub exception.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, php-format
|
||||
msgid "Hub subscriber verification returned HTTP %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr ""
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Fontes de novas"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Unsupported hub.topic %s this hub only serves local user and group Atom "
|
||||
"feeds."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:99
|
||||
#, php-format
|
||||
msgid "Invalid hub.verify \"%s\". It must be sync or async."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:105
|
||||
#, php-format
|
||||
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:113
|
||||
#, php-format
|
||||
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr ""
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
msgid "Notice with ID %1$s not posted by %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Unirse ao grupo"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
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.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
msgid "Could not join remote user %1$s to group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "Subscribirse a"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
msgid ""
|
||||
"OStatus user's address, like nickname@example.com or http://example.net/"
|
||||
"nickname"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Button text.
|
||||
#. TRANS: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Unirse a este grupo"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "Subscribirse a este usuario"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "Xa está subscrito a este usuario."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Foto"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Alcume"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Localización"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Nota"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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 ""
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "Xa está subscrito!"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr ""
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr "Houbo un erro co seu pase. Inténteo de novo."
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "Subscribirse ao usuario"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr "Pode usar a subscrición local!"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Unirse ao grupo \"%s\""
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Unirse"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "Subscribirse a %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "Subscribirse"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Alcume do usuario"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Alcume do usuario ao que quere seguir."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Conta de perfil"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr ""
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, php-format
|
||||
msgid "Bad hub.topic feed \"%s\"."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr ""
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr ""
|
780
plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po
Normal file
780
plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,780 @@
|
||||
# Translation of StatusNet - OStatus to Interlingua (Interlingua)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: McDutchie
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12:44+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: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ia\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "Subscriber"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Inscriber"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr "Inviate de %s via OStatus"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr "Non poteva configurar le subscription remote."
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
msgid "Unfollow"
|
||||
msgstr "Non plus sequer"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr "%1$s cessava de sequer %2$s."
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
msgstr "Non poteva configurar le membrato del gruppo remote."
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr "%1$s se ha jungite al gruppo %2$s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr "Falleva de facer se membro del gruppo remote."
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
msgid "Leave"
|
||||
msgstr "Quitar"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr "%1$s ha quitate le gruppo %2$s."
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
msgstr "Disfavorir"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, 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."
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr "Remote"
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr "Actualisation de profilo"
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr "%s ha actualisate su pagina de profilo."
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
"Sequer personas trans retes social que implementa <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr "Tentativa de comenciar subscription PuSH pro syndication sin centro."
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
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.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, 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.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, 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.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr "Actor invalide passate a %1$s: %2$s."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
"Typo invalide passate a Ostatos_profile::notify. Illo debe esser catena XML "
|
||||
"o entrata Activity."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr "Formato de syndication incognite."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr "Syndication RSS sin canal."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr "Non pote tractar iste typo de message."
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, php-format
|
||||
msgid "No content for notice %s."
|
||||
msgstr "Nulle contento pro nota %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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Monstrar plus"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr "Non poteva attinger pagina de profilo %s."
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
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.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
"Non pote trovar satis de information de profilo pro facer un syndication."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr "URL de avatar %s invalide."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr "Tentava actualisar avatar pro profilo remote non salveguardate %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr "Incapace de obtener avatar ab %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr "Usator local non pote esser referentiate como remote."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr "Gruppo local non pote esser referentiate como remote."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr "Non pote salveguardar profilo local."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr "Non pote salveguardar profilo OStatus."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr "Adresse webfinger invalide."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr "Non poteva salveguardar profilo pro \"%s\"."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr "Non poteva salveguardar osatus_profile pro %s."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr "Non poteva trovar un profilo valide pro \"%s\"."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr "Non poteva immagazinar contento HTML de longe message como file."
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, php-format
|
||||
msgid "Hub subscriber verification returned HTTP %s."
|
||||
msgstr "Verification de subscriptor de centro retornava HTTP %s."
|
||||
|
||||
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr "Appello de retorno retornava stato: %1$s. Corpore: %2$s"
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr "Iste methodo require un POST."
|
||||
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr "Salmon require \"application/magic-envelope+xml\"."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr "Verification de signatura Salmon falleva."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr "Message Salmon debe esser un entrata Atom."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr "Typo de activitate non recognoscite."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr "Iste destination non comprende messages."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr "Iste destination non comprende sequimentos."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr "Iste destination non comprende cessationes de sequimento."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr "Iste destination non comprende le addition de favorites."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr "Iste destination non comprende le remotion de favorites."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr "Iste destination non comprende eventos commun."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr "Iste destination non comprende indicationes de adhesion."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr "Iste destination non comprende eventos de partita."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr "Recipeva un claffo de salmon de un actor non identificate."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr "Incapace de trovar servicios pro %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr "Incapace de localisar le clave public del signator."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr "Salmon: actor invalide pro signar."
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Syndicationes"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr "Le publication de syndicationes externe non es supportate."
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr "Modo \"%s\" non recognoscite."
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Unsupported hub.topic %s this hub only serves local user and group Atom "
|
||||
"feeds."
|
||||
msgstr ""
|
||||
"Le topico de centro %s non es supportate. Iste centro servi solmente le "
|
||||
"syndicationes Atom de usatores e gruppos local."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:99
|
||||
#, 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.
|
||||
#: actions/pushhub.php:105
|
||||
#, 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.
|
||||
#: actions/pushhub.php:113
|
||||
#, 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.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr "Invalide hub.topic \"%s\". Usator non existe."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
|
||||
msgstr "Invalide hub.topic \"%s\". Gruppo non existe."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr "Invalide URL passate pro %1$s: \"%2$s\""
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr "Iste usator non existe."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr "Nulle ID."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr "In responsa a un nota incognite."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
"In responsa a un nota non scribite per iste usator e que non mentiona iste "
|
||||
"usator."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr "Non poteva salveguardar le nove favorite."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr "Non pote favorir/disfavorir sin objecto."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't 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.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr "Nota con ID %s incognite."
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
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.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Adherer al gruppo"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
"Un adresse de gruppo OStatus, como http://example.net/group/pseudonymo."
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr "Tu es ja membro de iste gruppo."
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr "Ja membro!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr "Le adhesion al gruppo remote ha fallite!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr "Le adhesion al gruppo remote ha essite abortate!"
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr "Confirmar adhesion a gruppo remote"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
"Tu pote subscriber a gruppos de altere sitos supportate. Colla le URI del "
|
||||
"profilo del gruppo hic infra:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr "Gruppo non existe."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr "Non pote acceptar messages remote pro un gruppo remote."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr "Non pote leger profilo pro establir membrato de gruppo."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr "Gruppos non pote adherer a gruppos."
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
msgid "You have been blocked from that group by the admin."
|
||||
msgstr "Le administrator te ha blocate de iste gruppo."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
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."
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr "Non pote leger profilo pro cancellar membrato de gruppo."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, 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: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "Subscriber a"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
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: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Adherer a iste gruppo"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "Subscriber a iste usator"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "Tu es ja subscribite a iste usator."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Photo"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Pseudonymo"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Loco"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Nota"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
"Regrettabilemente, nos non poteva attinger iste syndication. Per favor "
|
||||
"reproba iste adresse OStatus plus tarde."
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "Ja subscribite!"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr "Subscription remote fallite!"
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
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."
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "Subscriber a usator"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Confirmar"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
"Tu pote subscriber a usatores de altere sitos supportate. Colla su adresse o "
|
||||
"URI de profilo hic infra:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr "Tu pote usar le subscription local!"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Adherer al gruppo %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Inscriber"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "Subscriber a %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "Subscriber"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Pseudonymo del usator"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Le pseudonymo del usator que tu vole sequer."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Conto de profilo"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr "Le ID de tu conto (p.ex. usator@identi.ca)."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr "Debe fornir un profilo remote."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr "Non poteva cercar le profilo del conto OStatus."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr "Non poteva confirmar le adresse del profilo remote."
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr "Connexion OStatus"
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr "ID de syndication vacue o invalide."
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr "ID de syndication PuSH %s incognite"
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, php-format
|
||||
msgid "Bad hub.topic feed \"%s\"."
|
||||
msgstr "Syndication hub.topic \"%s\" incorrecte."
|
||||
|
||||
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr "Incorrecte hub.verify_token %1$s pro %2$s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr "Requesta de subscription inexpectate pro %s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr "Requesta de cancellation de subscription inexpectate pro %s."
|
783
plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po
Normal file
783
plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,783 @@
|
||||
# Translation of StatusNet - OStatus to Macedonian (Македонски)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: Bjankuloski06
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12:45+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: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: mk\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "Претплати се"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Зачлени се"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr "Испратено од %s преку OStatus"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr "Не можев да ја поставам далечинската претплата."
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr "%1$s престана да го/ја следи %2$s."
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr "%1$s се зачлени во групата %2$s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr "Не успеав да Ве зачленам во далечинската група."
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr "%1$s ја напушти групата %2$s."
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, php-format
|
||||
msgid "%1$s marked notice %2$s as no longer a favorite."
|
||||
msgstr "%1$s повеќе не ја бендисува забелешката %2$s."
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr "Далечински"
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr "Поднова на профил"
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr "%s ја поднови својата профилна страница."
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
"Следете луѓе низ разни друштвени мрежи што го применуваат <a href=\"http://"
|
||||
"ostatus.org/\">OStatus</a>."
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr "Се обидов да ја започнам PuSH-претплатата за канал без средиште."
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
msgid "Attempting to end PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
"Се обидувам да ставам крај на PuSH-претплатата за емитување без средиште."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
"Неважечка ostatus_profile-состојба: назнаките (ID) на групата и профилот се "
|
||||
"наместени за %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
|
||||
msgstr ""
|
||||
"Неважечка ostatus_profile-состојба: назнаките (ID) за групата и профилот се "
|
||||
"празни за %s."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr "На %1$s е пренесен неважечки учесник: %2$s."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
"На Ostatus_profile::notify е пренесен неважечки тип. Мора да биде XML-низа "
|
||||
"или ставка во Activity."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr "Непознат формат на каналско емитување."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr "RSS-емитување без канал."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr "Не можам да работам со таква објава."
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, 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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Повеќе"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr "Не можев да ја добијам профилната страница %s."
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
msgid "Could not find a feed URL for profile page %s."
|
||||
msgstr "Не можев да пронајдам каналска URL-адреса за профилната страница %s."
|
||||
|
||||
#. TRANS: Feed sub exception.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr "Не можев да најдам доволно профилни податоци за да направам канал."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr "Неважечка URL-адреса за аватарот: %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr ""
|
||||
"Се обидов да го подновам аватарот за незачуваниот далечински профил %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr "Не можам да го добијам аватарот од %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr "Локалниот корисник не може да се наведе како далечински."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr "Локалната група не може да се наведе како далечинска."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr "Не можам да го зачувам локалниот профил."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr "Не можам да го зачувам профилот од OStatus."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr "Ова не е важечка Webfinger-адреса"
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr "Не можам да го зачувам профилот за „%s“."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr "Не можам да го зачувам ostatus_profile за „%s“."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr "Не можев да пронајдам важечки профил за „%s“."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr ""
|
||||
"Не можам да ја складирам HTML-содржината на долгата објава како податотека."
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, 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.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr "Повратниот повик даде статус: %1$s. Содржина: %2$s"
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr "Овој метод бара POST."
|
||||
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr "Salmon бара „програм/magic-envelope+xml“."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr "Salmon-овото потврдување на потпис не успеа."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr "Salmon-овата објава мора да биде Atom-ова ставка."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr "Непризнаен вид на активност."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr "Оваа цел не разбира објави."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr "Оваа цел не разбира следења."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr "Оваа цел не разбира прекини на следења."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr "Оваа цел не разбира бендисување на забелешки."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr "Оваа цел не разбира одбендисување на забелешки."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr "Оваа цел не разбира споделување на настани."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr "Оваа цел не разбира придружувања."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr "Оваа цел не разбира напуштање на настани."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr "Примив Salmon-шамар од непознат учесник."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr "Не можев да најдам служби за %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr "Не можам да го пронајдам јавниот клуч на потписникот."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr "Ова е неважечки учесник во потпишувањето според Salmon."
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Канали"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr "Објавувањето вон каналите не е поддржано."
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr "Непрепознат режим „%s“."
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, 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.
|
||||
#: actions/pushhub.php:99
|
||||
#, php-format
|
||||
msgid "Invalid hub.verify \"%s\". It must be sync or async."
|
||||
msgstr "Неважечки hub.verify „%s“. Мора да биде sync или async."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:105
|
||||
#, php-format
|
||||
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
|
||||
msgstr "Неважечки hub.lease „%s“. Мора да биде празно или позитивен цел број."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:113
|
||||
#, php-format
|
||||
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
|
||||
msgstr "Неважечки hub.secret „%s“. Мора да биде под 200 бајти."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr "Неважеки hub.topic „%s“. Корисникот не постои."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't 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.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr "Добив неважечка URL-адреса за %1$s: „%2$s“"
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr "Нема таков корисник."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr "Нема ID."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr "Како одговор на непозната забелешка."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
"Како одговор на забелешка која не е од овој корисник и не го споменува."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr "Не можам да го зачувам новобендисаното."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr "Не можам да означам како бендисано или да тргнам бендисано без објект."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
"Не можам да работам со таков објект за ставање врски/означување бендисани."
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr "Не ја распознавам забелешката со ID %s."
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
msgid "Notice with ID %1$s not posted by %2$s."
|
||||
msgstr "Забелешката со ID %1$s не е објавена од %2$s."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Зачлени се во групата"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
"Адреса на групата на OStatus, како на пр. http://primer.net/group/prekar."
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr "Продолжи"
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr "Веќе членувате во групава."
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr "Веќе членувате!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr "Придружувањето на далечинската група не успеа!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr "Придружувањето на далечинската група е откажано!"
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr "Потврди придружување кон далечинска група."
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
"Можете да се претплаќате на групи од други поддржани мреж. места. Подолу "
|
||||
"залепете го URI-то на профилот на групата."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr "Нема таква група."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr "Не можам да прифаќам далечински објави од далечинска група."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr ""
|
||||
"Не можев да го прочитам профилот за да го поставам членството во групата."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr "Во групите не можат да се зачленуваат групи."
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
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.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
msgid "Could not join remote user %1$s to group %2$s."
|
||||
msgstr "Не можев да го зачленам далечинскиот корисник %1$s во групата %2$s."
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr "Не можам да го прочитам профилот за откажам членство во групата."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr "Не можев да го отстранам далечинскиот корисник %1$s од групата %2$s."
|
||||
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "Претплати се"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
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: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Зачлени се во групава"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Потврди"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "Претплати се на корисников"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "Веќе сте претплатени на овој корисник."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Слика"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Прекар"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Место"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "URL-адереса"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Белешка"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
"Нажалост, не можевме да го добиеме тој канал. Обидете се со таа OStatus-"
|
||||
"адреса подоцна."
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "Веќе сте претплатени!"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr "Далечинската претплата не успеа!"
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се повторно."
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "Претплати се на корисник"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Потврди"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
"Можете да се претплатите на корисници од други поддржани мрежни места. "
|
||||
"Ископирајте ја нивната адреса или профилно URI подолу:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr "Можете да ја користите локалната претплата!"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Зачлени се во групата %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Зачлени се"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "Претплати се на %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "Претплати се"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Прекар на корисникот"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Прекарот на корисникот што сакате да го следите."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Профилна сметка"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr "Вашата назнака (ID) на сметката (на пр. korisnik@identi.ca)."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr "Мора да наведете далечински профил."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr "Не можев да го проверам профилот на OStatus-сметката."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr "Не можев да ја потврдам адресата на далечинскиот профил."
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr "OStatus - Поврзување"
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr "Празен или неважечки ID за канал"
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr "Непознат ID %s за PuSH-канал"
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, 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.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr "Лош hub.verify_token %1$s за %2$s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr "Неочекувано барање за претплата за %s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr "Неочекувано барање за отпишување од претплата за %s."
|
812
plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po
Normal file
812
plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,812 @@
|
||||
# Translation of StatusNet - OStatus to Dutch (Nederlands)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: McDutchie
|
||||
# Author: Siebrand
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12:45+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: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: nl\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "Abonneren"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Toetreden"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr "Verzonden vanaf %s via OStatus"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk het abonnement via een andere dienst in te stellen."
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
msgid "Unfollow"
|
||||
msgstr "Niet langer volgen"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr "%1$s volgt %2$s niet langer."
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk het groepslidmaatschap via een andere dienst in te "
|
||||
"stellen."
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr "%1$s is lid geworden van de groep %2$s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk toe te streden to de groep van een andere dienst."
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
msgid "Leave"
|
||||
msgstr "Verlaten"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr "%1$s heeft de groep %2$s verlaten"
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
msgstr "Uit favorieten verwijderen"
|
||||
|
||||
#. 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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, 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."
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr "Via andere dienst"
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr "Profielupdate"
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr "Het profiel van %s is bijgewerkt."
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
"Mensen volgen over sociale netwerken die gebruik maken van <a href=\"http://"
|
||||
"ostatus.org/\">OStatus</a>."
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
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."
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
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.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
"Ongeldige ostatus_profile status: het ID voor zowel de groep als het profiel "
|
||||
"voor %s is ingesteld."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, 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.
|
||||
#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr "Ongeldige actor doorgegeven aan %1$s: %2$s."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
"Ongeldig type doorgegeven aan Ostatus_profile::notify. Het moet een XML-"
|
||||
"string of Activity zijn."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr "Onbekend feedformaat"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr "RSS-feed zonder kanaal."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr "Dat type post kan niet verwerkt worden."
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, php-format
|
||||
msgid "No content for notice %s."
|
||||
msgstr "Geen inhoud voor mededeling %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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Meer weergeven"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr "Het was niet mogelijk de profielpagina %s te bereiken."
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
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.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk voldoende profielinformatie te vinden om een feed te "
|
||||
"maken."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr "Ongeldige avatar-URL %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr ""
|
||||
"Geprobeerd om een avatar bij te werken voor het niet opgeslagen profiel %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr "Het was niet mogelijk de avatar op te halen van %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
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: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr ""
|
||||
"Naar een lokale groep kan niet verwezen worden alsof die zich bij een andere "
|
||||
"dienst bevindt."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr "Het was niet mogelijk het lokale profiel op te slaan."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr "Het was niet mogelijk het Ostatusprofiel op te slaan."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr "Geen geldig webfingeradres."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr "Het was niet mogelijk het profiel voor \"%s\" op te slaan."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr "Het was niet mogelijk het ostatus_profile voor \"%s\" op te slaan."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr "Er is geen geldig profiel voor \"%s\" gevonden."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk de HTML-inhoud van het lange bericht als bestand op te "
|
||||
"slaan."
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, php-format
|
||||
msgid "Hub subscriber verification returned HTTP %s."
|
||||
msgstr "De controle voor de hubabonnee heeft een HTTP %s teruggegeven."
|
||||
|
||||
#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr "De callback heeft de status %1$s teruggegeven. Inhoud: %2$s."
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr "Deze methode vereist een POST."
|
||||
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr "Salmon vereist \"application/magic-envelope+xml\"."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr "De controle voor Salmon is mislukt."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr "Een Salmonbericht moet in Atomopmaak gemaakt zijn."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr "Onbekend activiteitentype."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr "Deze bestemming begrijpt berichten niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr "Deze bestemming begrijpt volgen niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr "Deze bestemming begrijpt niet langer volgen niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr "Deze bestemming begrijpt favorieten niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr "Deze bestemming begrijpt favorieten verwijderen niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr "Deze bestemming begrijpt gebeurtenissen delen niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr "Deze bestemming begrijpt lid worden niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr "Deze bestemming begrijpt uitschrijven van gebeurtenissen niet."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr "Er is een Salmonslap ontvangen van een niet-geïdentificeerde actor."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr "Het was niet mogelijk diensten te vinden voor %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk de publieke sleutel van de ondertekenaar te vinden."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr "Ongeldige actor voor het ondertekenen van Salmon."
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Feeds"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr "Publiceren buiten feeds om wordt niet ondersteund."
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr "Niet herkende modus \"%s\"."
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Unsupported hub.topic %s this hub only serves local user and group Atom "
|
||||
"feeds."
|
||||
msgstr ""
|
||||
"Niet ondersteund hub.topic \"%s\". Deze hub serveert alleen Atom feeds van "
|
||||
"lokale gebruikers en groepen."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:99
|
||||
#, 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.
|
||||
#: actions/pushhub.php:105
|
||||
#, 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.
|
||||
#: actions/pushhub.php:113
|
||||
#, 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.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr "Ongeldig hub.topic \"%s\". De gebruiker bestaat niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't exist."
|
||||
msgstr "Ongeldig hub.topic \"%s\". De groep bestaat niet."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr "Er is een ongeldige URL doorgegeven voor %1$s: \"%2$s\""
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr "Onbekende gebruiker."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr "Geen ID."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr "In antwoord op een onbekende mededeling."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
"In antwoord op een mededeling niet door deze gebruiker en niet over of aan "
|
||||
"deze gebruiker."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr "Het was niet mogelijk de nieuwe favoriet op te slaan."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr ""
|
||||
"Het is niet mogelijk (niet langer) als favoriet te markeren zonder object."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
"Dat object is niet beschikbaar voor (niet langer) als favoriet aanmerken."
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, php-format
|
||||
msgid "Notice with ID %s unknown."
|
||||
msgstr "De mededeling met ID %s is onbekend."
|
||||
|
||||
#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
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.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Lid worden van groep"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
"Het adres voor de OStatusgroep. Bijvoorbeeld; http://example.net/group/"
|
||||
"nickname."
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr "Doorgaan"
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr "U bent al lid van deze groep."
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr "U bent al lid!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr "Het verlaten van de groep bij een andere dienst is mislukt."
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr "Het lid worden van de groep bij een andere dienst is afgebroken."
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr "Lid worden van groep bij andere dienst"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
"U kunt abonneren op groepen van andere ondersteunde sites. Plak hieronder de "
|
||||
"URI van het groepsprofiel:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr "De opgegeven groep bestaat niet."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr ""
|
||||
"Berichten van andere diensten voor groepen bij andere diensten worden niet "
|
||||
"geaccepteerd."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr "Het profiel om lid te worden van een groep kon niet gelezen worden."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr "Groepen kunnen geen lid worden van groepen."
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
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.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, 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."
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr ""
|
||||
"Het profiel om groepslidmaatschap te annuleren kon niet gelezen worden."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk gebruiker %1$s van een andere dienst uit de groep %2$s "
|
||||
"te verwijderen."
|
||||
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "Abonneren op"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
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: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Lid worden van deze groep"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Bevestigen"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "Abonneren op deze gebruiker"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "U bent al geabonneerd op deze gebruiker."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Foto"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Gebruikersnaam"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Locatie"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "URL"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Opmerking"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
"Die feed was niet te bereiken. Probeer dat OStatusadres later nog een keer."
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "U bent al gebonneerd!"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr "Abonneren via een andere dienst is mislukt!"
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
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, "
|
||||
"alstublieft."
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "Abonneren op gebruiker"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Bevestigen"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
"U kunt abonneren op gebruikers van andere ondersteunde sites. Plak hun adres "
|
||||
"of profiel-URI hieronder:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr "U kunt het lokale abonnement gebruiken!"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Lid worden van de groep %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Toetreden"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "Abonneren op %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "Abonneren"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Gebruikersnaam"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Gebruikersnaam van de gebruiker waarop u wilt abonneren."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Gebruikersprofiel"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr "Uw gebruikers-ID (bv. gebruiker@identi.ca)."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr "Er moet een profiel bij een andere dienst opgegeven worden."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr "Het was niet mogelijk het OStatusgebruikersprofiel te vinden."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr ""
|
||||
"Het was niet mogelijk het profieladres bij de andere dienst te bevestigen."
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr "OStatuskoppeling"
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr "Het feed-ID is leeg of ongeldig."
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr "Het PuSH feed-ID %s is onbekend"
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, php-format
|
||||
msgid "Bad hub.topic feed \"%s\"."
|
||||
msgstr "Ongeldige hub.topic feed \"%s\"."
|
||||
|
||||
#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr "Ongeldig hub.verify_token %1$s voor %2$s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr "Onverwacht abonneringsverzoek voor %s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr "Onverwacht verzoek om abonnement op te hebben voor %s."
|
794
plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po
Normal file
794
plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po
Normal file
@@ -0,0 +1,794 @@
|
||||
# Translation of StatusNet - OStatus to Ukrainian (Українська)
|
||||
# Expored from translatewiki.net
|
||||
#
|
||||
# Author: Boogie
|
||||
# --
|
||||
# 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: 2010-12-16 15:08+0000\n"
|
||||
"PO-Revision-Date: 2010-12-16 15:12: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: 2010-11-30 20:43:51+0000\n"
|
||||
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: uk\n"
|
||||
"X-Message-Group: #out-statusnet-plugin-ostatus\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
|
||||
"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
|
||||
|
||||
#. TRANS: Link description for link to subscribe to a remote user.
|
||||
#. TRANS: Link text for a user to subscribe to an OStatus user.
|
||||
#: OStatusPlugin.php:225 OStatusPlugin.php:935
|
||||
msgid "Subscribe"
|
||||
msgstr "Підписатись"
|
||||
|
||||
#. TRANS: Link description for link to join a remote group.
|
||||
#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109
|
||||
msgid "Join"
|
||||
msgstr "Приєднатися"
|
||||
|
||||
#. TRANSLATE: %s is a domain.
|
||||
#: OStatusPlugin.php:457
|
||||
#, php-format
|
||||
msgid "Sent from %s via OStatus"
|
||||
msgstr "Надіслано з %s через OStatus"
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:529
|
||||
msgid "Could not set up remote subscription."
|
||||
msgstr "Не вдалося створити віддалену підписку."
|
||||
|
||||
#: OStatusPlugin.php:603
|
||||
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.
|
||||
#: OStatusPlugin.php:606
|
||||
#, php-format
|
||||
msgid "%1$s stopped following %2$s."
|
||||
msgstr "%1$s припинив читати ваші дописи %2$s."
|
||||
|
||||
#: OStatusPlugin.php:634
|
||||
msgid "Could not set up remote group membership."
|
||||
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.
|
||||
#: OStatusPlugin.php:656
|
||||
#, php-format
|
||||
msgid "%1$s has joined group %2$s."
|
||||
msgstr "%1$s приєднався до спільноти %2$s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: OStatusPlugin.php:665
|
||||
msgid "Failed joining remote group."
|
||||
msgstr "Помилка приєднання до віддаленої спільноти."
|
||||
|
||||
#: OStatusPlugin.php:705
|
||||
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.
|
||||
#: OStatusPlugin.php:708
|
||||
#, php-format
|
||||
msgid "%1$s has left group %2$s."
|
||||
msgstr "%1$s залишив спільноту %2$s."
|
||||
|
||||
#: OStatusPlugin.php:783
|
||||
msgid "Disfavor"
|
||||
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.
|
||||
#: OStatusPlugin.php:786
|
||||
#, php-format
|
||||
msgid "%1$s marked notice %2$s as no longer a favorite."
|
||||
msgstr "%1$s позначив допис %2$s, як такий, що більше не є обраним."
|
||||
|
||||
#. TRANS: Link text for link to remote subscribe.
|
||||
#: OStatusPlugin.php:862
|
||||
msgid "Remote"
|
||||
msgstr "Віддалено"
|
||||
|
||||
#. TRANS: Title for activity.
|
||||
#: OStatusPlugin.php:902
|
||||
msgid "Profile update"
|
||||
msgstr "Оновлення профілю"
|
||||
|
||||
#. TRANS: Ping text for remote profile update through OStatus.
|
||||
#. TRANS: %s is user that updated their profile.
|
||||
#: OStatusPlugin.php:905
|
||||
#, php-format
|
||||
msgid "%s has updated their profile page."
|
||||
msgstr "%s оновив сторінку свого профілю."
|
||||
|
||||
#. TRANS: Plugin description.
|
||||
#: OStatusPlugin.php:950
|
||||
msgid ""
|
||||
"Follow people across social networks that implement <a href=\"http://ostatus."
|
||||
"org/\">OStatus</a>."
|
||||
msgstr ""
|
||||
"Додає можливість слідкувати за дописами людей з інших мереж, які підтримують "
|
||||
"протокол <a href=\"http://ostatus.org/\">OStatus</a>."
|
||||
|
||||
#: classes/FeedSub.php:252
|
||||
msgid "Attempting to start PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
"Спроба підписатися за допомогою PuSH до веб-стрічки, котра не має вузла."
|
||||
|
||||
#: classes/FeedSub.php:282
|
||||
msgid "Attempting to end PuSH subscription for feed with no hub."
|
||||
msgstr ""
|
||||
"Спроба скасувати підписку за допомогою PuSH до веб-стрічки, котра не має "
|
||||
"вузла."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:192
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
|
||||
msgstr ""
|
||||
"Невірний стан параметру ostatus_profile: як групові, так і персональні "
|
||||
"ідентифікатори встановлено для %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:195
|
||||
#, php-format
|
||||
msgid "Invalid ostatus_profile state: both group and profile 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.
|
||||
#: classes/Ostatus_profile.php:285
|
||||
#, php-format
|
||||
msgid "Invalid actor passed to %1$s: %2$s."
|
||||
msgstr "До %1$s передано невірний об’єкт: %2$s."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:378
|
||||
msgid ""
|
||||
"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
|
||||
"Activity entry."
|
||||
msgstr ""
|
||||
"До параметру Ostatus_profile::notify передано невірний тип. Це має бути або "
|
||||
"рядок у форматі XML, або запис активності."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:409
|
||||
msgid "Unknown feed format."
|
||||
msgstr "Невідомий формат веб-стрічки."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:433
|
||||
msgid "RSS feed without a channel."
|
||||
msgstr "RSS-стрічка не має каналу."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: classes/Ostatus_profile.php:478
|
||||
msgid "Can't handle that kind of post."
|
||||
msgstr "Не вдається обробити такий тип допису."
|
||||
|
||||
#. TRANS: Client exception. %s is a source URI.
|
||||
#: classes/Ostatus_profile.php:561
|
||||
#, 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.
|
||||
#: classes/Ostatus_profile.php:596
|
||||
msgid "Show more"
|
||||
msgstr "Розгорнути"
|
||||
|
||||
#. TRANS: Exception. %s is a profile URL.
|
||||
#: classes/Ostatus_profile.php:789
|
||||
#, php-format
|
||||
msgid "Could not reach profile page %s."
|
||||
msgstr "Не вдалося досягти сторінки профілю %s."
|
||||
|
||||
#. TRANS: Exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:847
|
||||
#, php-format
|
||||
msgid "Could not find a feed URL for profile page %s."
|
||||
msgstr "Не вдалося знайти URL веб-стрічки для сторінки профілю %s."
|
||||
|
||||
#. TRANS: Feed sub exception.
|
||||
#: classes/Ostatus_profile.php:985
|
||||
msgid "Can't find enough profile information to make a feed."
|
||||
msgstr ""
|
||||
"Не можу знайти достатньо інформації про профіль, аби сформувати веб-стрічку."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1045
|
||||
#, php-format
|
||||
msgid "Invalid avatar URL %s."
|
||||
msgstr "Невірна URL-адреса аватари %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URI.
|
||||
#: classes/Ostatus_profile.php:1056
|
||||
#, php-format
|
||||
msgid "Tried to update avatar for unsaved remote profile %s."
|
||||
msgstr "Намагаюся оновити аватару для не збереженого віддаленого профілю %s."
|
||||
|
||||
#. TRANS: Server exception. %s is a URL.
|
||||
#: classes/Ostatus_profile.php:1066
|
||||
#, php-format
|
||||
msgid "Unable to fetch avatar from %s."
|
||||
msgstr "Неможливо завантажити аватару з %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1292
|
||||
msgid "Local user can't be referenced as remote."
|
||||
msgstr "Місцевий користувач не може бути зазначеним у якості віддаленого."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1297
|
||||
msgid "Local group can't be referenced as remote."
|
||||
msgstr "Локальну спільноту не можна зазначити у якості віддаленої."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
|
||||
msgid "Can't save local profile."
|
||||
msgstr "Не вдається зберегти місцевий профіль."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1368
|
||||
msgid "Can't save OStatus profile."
|
||||
msgstr "Не вдається зберегти профіль OStatus."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: classes/Ostatus_profile.php:1632 classes/Ostatus_profile.php:1660
|
||||
msgid "Not a valid webfinger address."
|
||||
msgstr "Це недійсна адреса для протоколу WebFinger."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1742
|
||||
#, php-format
|
||||
msgid "Couldn't save profile for \"%s\"."
|
||||
msgstr "Не можу зберегти профіль для «%s»."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1761
|
||||
#, php-format
|
||||
msgid "Couldn't save ostatus_profile for \"%s\"."
|
||||
msgstr "Не можу зберегти профіль OStatus для «%s»."
|
||||
|
||||
#. TRANS: Exception. %s is a webfinger address.
|
||||
#: classes/Ostatus_profile.php:1769
|
||||
#, php-format
|
||||
msgid "Couldn't find a valid profile for \"%s\"."
|
||||
msgstr "не можу знайти відповідний й профіль для «%s»."
|
||||
|
||||
#. TRANS: Server exception.
|
||||
#: classes/Ostatus_profile.php:1812
|
||||
msgid "Could not store HTML content of long post as file."
|
||||
msgstr "Не можу зберегти HTML місткого допису у якості файлу."
|
||||
|
||||
#. TRANS: Client exception. %s is a HTTP status code.
|
||||
#: classes/HubSub.php:212
|
||||
#, 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.
|
||||
#: classes/HubSub.php:359
|
||||
#, php-format
|
||||
msgid "Callback returned status: %1$s. Body: %2$s"
|
||||
msgstr "Зворотній виклик повернуто зі статусом: %1$s. Зміст: %2$s"
|
||||
|
||||
#. TRANS: Client error. POST is a HTTP command. It should not be translated.
|
||||
#: lib/salmonaction.php:42
|
||||
msgid "This method requires a POST."
|
||||
msgstr "Цей метод вимагає команди POST."
|
||||
|
||||
#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
|
||||
#: lib/salmonaction.php:47
|
||||
msgid "Salmon requires \"application/magic-envelope+xml\"."
|
||||
msgstr "Протокол Salmon вимагає \"application/magic-envelope+xml\"."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:57
|
||||
msgid "Salmon signature verification failed."
|
||||
msgstr "Перевірка підпису протоколу Salmon не вдалася."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: lib/salmonaction.php:69
|
||||
msgid "Salmon post must be an Atom entry."
|
||||
msgstr "Дописи за протоколом Salmon мають бути у форматі Atom."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:118
|
||||
msgid "Unrecognized activity type."
|
||||
msgstr "Невідомий тип діяльності."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:127
|
||||
msgid "This target doesn't understand posts."
|
||||
msgstr "Ціль не розуміє, що таке «дописи»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:133
|
||||
msgid "This target doesn't understand follows."
|
||||
msgstr "Ціль не розуміє, що таке «слідувати»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:139
|
||||
msgid "This target doesn't understand unfollows."
|
||||
msgstr "Ціль не розуміє, що таке «не слідувати»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:145
|
||||
msgid "This target doesn't understand favorites."
|
||||
msgstr "Ціль не розуміє, що таке «додати до обраних»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:151
|
||||
msgid "This target doesn't understand unfavorites."
|
||||
msgstr "Ціль не розуміє, що таке «вилучити з обраних»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:157
|
||||
msgid "This target doesn't understand share events."
|
||||
msgstr "Ціль не розуміє, що таке «поділитися подією»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:163
|
||||
msgid "This target doesn't understand joins."
|
||||
msgstr "Ціль не розуміє, що таке «приєднатися»."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: lib/salmonaction.php:169
|
||||
msgid "This target doesn't understand leave events."
|
||||
msgstr "Ціль не розуміє, що таке «залишати подію»."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmonaction.php:197
|
||||
msgid "Received a salmon slap from unidentified actor."
|
||||
msgstr "Отримано ляпаса від невизначеного учасника за протоколом Salmon."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/discovery.php:110
|
||||
#, php-format
|
||||
msgid "Unable to find services for %s."
|
||||
msgstr "Не вдається знайти сервіси для %s."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/magicenvelope.php:80
|
||||
msgid "Unable to locate signer public key."
|
||||
msgstr "Не вдалося знайти публічного ключа підписанта."
|
||||
|
||||
#. TRANS: Exception.
|
||||
#: lib/salmon.php:93
|
||||
msgid "Salmon invalid actor for signing."
|
||||
msgstr "Недійсний учасник подій за протоколом Salmon для підписання."
|
||||
|
||||
#: tests/gettext-speedtest.php:57
|
||||
msgid "Feeds"
|
||||
msgstr "Веб-стрічки"
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:70
|
||||
msgid "Publishing outside feeds not supported."
|
||||
msgstr "Публікація змісту зовнішніх веб-стрічок не підтримується."
|
||||
|
||||
#. TRANS: Client exception. %s is a mode.
|
||||
#: actions/pushhub.php:73
|
||||
#, php-format
|
||||
msgid "Unrecognized mode \"%s\"."
|
||||
msgstr "Невизначений режим «%s»."
|
||||
|
||||
#. TRANS: Client exception. %s is a topic.
|
||||
#: actions/pushhub.php:93
|
||||
#, 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.
|
||||
#: actions/pushhub.php:99
|
||||
#, php-format
|
||||
msgid "Invalid hub.verify \"%s\". It must be sync or async."
|
||||
msgstr "hub.verify «%s» невірний. Він має бути синхронним або ж асинхронним."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:105
|
||||
#, php-format
|
||||
msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
|
||||
msgstr ""
|
||||
"hub.lease «%s» невірний. Він має бути порожнім або містити ціле позитивне "
|
||||
"число."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:113
|
||||
#, php-format
|
||||
msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
|
||||
msgstr "hub.secret «%s» невірний. 200 байтів — не більше."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:165
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". User doesn't exist."
|
||||
msgstr "hub.topic «%s» невірний. Користувача не існує."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/pushhub.php:174
|
||||
#, php-format
|
||||
msgid "Invalid hub.topic \"%s\". Group doesn't 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.
|
||||
#: actions/pushhub.php:199
|
||||
#, php-format
|
||||
msgid "Invalid URL passed for %1$s: \"%2$s\""
|
||||
msgstr "Для %1$s передано невірний URL: «%2$s»"
|
||||
|
||||
#: actions/ownerxrd.php:39 actions/usersalmon.php:43
|
||||
msgid "No such user."
|
||||
msgstr "Такого користувача немає."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/usersalmon.php:37 actions/groupsalmon.php:40
|
||||
msgid "No ID."
|
||||
msgstr "Немає ідентифікатора."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:81
|
||||
msgid "In reply to unknown notice."
|
||||
msgstr "У відповідь на невідомий допис."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:86
|
||||
msgid "In reply to a notice not by this user and not mentioning this user."
|
||||
msgstr ""
|
||||
"У відповідь на допис іншого користувача, а даний користувач у ньому навіть "
|
||||
"не згадується."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:163
|
||||
msgid "Could not save new favorite."
|
||||
msgstr "Не вдалося зберегти як новий обраний допис."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:195
|
||||
msgid "Can't favorite/unfavorite without an object."
|
||||
msgstr ""
|
||||
"Неможливо додати до обраних або видалити зі списку обраних, якщо немає "
|
||||
"об’єкта."
|
||||
|
||||
#. TRANS: Client exception.
|
||||
#: actions/usersalmon.php:207
|
||||
msgid "Can't handle that kind of object for liking/faving."
|
||||
msgstr ""
|
||||
"Не вдається обробити подібний об’єкт для додавання його до списку обраних."
|
||||
|
||||
#. TRANS: Client exception. %s is an object ID.
|
||||
#: actions/usersalmon.php:214
|
||||
#, 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.
|
||||
#: actions/usersalmon.php:219
|
||||
#, php-format
|
||||
msgid "Notice with ID %1$s not posted by %2$s."
|
||||
msgstr "Допис з ідентифікатором %1$s було надіслано не %2$s."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusgroup.php:78
|
||||
msgid "Join group"
|
||||
msgstr "Долучитися до спільноти"
|
||||
|
||||
#. TRANS: Tooltip for field label "Join group".
|
||||
#: actions/ostatusgroup.php:81
|
||||
msgid "OStatus group's address, like http://example.net/group/nickname."
|
||||
msgstr ""
|
||||
"Адреса спільноти згідно протоколу OStatus, наприклад http://example.net/"
|
||||
"group/nickname."
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusgroup.php:86 actions/ostatussub.php:75
|
||||
msgctxt "BUTTON"
|
||||
msgid "Continue"
|
||||
msgstr "Продовжити"
|
||||
|
||||
#: actions/ostatusgroup.php:105
|
||||
msgid "You are already a member of this group."
|
||||
msgstr "Ви вже є учасником цієї спільноти."
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:140
|
||||
msgid "Already a member!"
|
||||
msgstr "Ви вже учасник!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:151
|
||||
msgid "Remote group join failed!"
|
||||
msgstr "Приєднатися до віддаленої спільноти не вдалося!"
|
||||
|
||||
#. TRANS: OStatus remote group subscription dialog error.
|
||||
#: actions/ostatusgroup.php:155
|
||||
msgid "Remote group join aborted!"
|
||||
msgstr "Приєднання до віддаленої спільноти перервано!"
|
||||
|
||||
#. TRANS: Page title for OStatus remote group join form
|
||||
#: actions/ostatusgroup.php:167
|
||||
msgid "Confirm joining remote group"
|
||||
msgstr "Підтвердження приєднання до віддаленої спільноти"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatusgroup.php:178
|
||||
msgid ""
|
||||
"You can subscribe to groups from other supported sites. Paste the group's "
|
||||
"profile URI below:"
|
||||
msgstr ""
|
||||
"Ви можете долучатися до спільнот на аналогічних сайтах. Просто вставте URI "
|
||||
"профілю спільноти тут:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:47
|
||||
msgid "No such group."
|
||||
msgstr "Такої спільноти немає."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:53
|
||||
msgid "Can't accept remote posts for a remote group."
|
||||
msgstr "Не можу узгодити віддалену пересилку дописів до віддаленої спільноти."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:127
|
||||
msgid "Can't read profile to set up group membership."
|
||||
msgstr "Не можу прочитати профіль, аби долучитися до спільноти."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
|
||||
msgid "Groups can't join groups."
|
||||
msgstr "Спільноти ніяк не можуть приєднуватися до спільнот."
|
||||
|
||||
#: actions/groupsalmon.php:144
|
||||
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.
|
||||
#: actions/groupsalmon.php:159
|
||||
#, php-format
|
||||
msgid "Could not join remote user %1$s to group %2$s."
|
||||
msgstr ""
|
||||
"Віддаленому користувачеві %1$s не вдалося долучитися до спільноти %2$s."
|
||||
|
||||
#: actions/groupsalmon.php:171
|
||||
msgid "Can't read profile to cancel group membership."
|
||||
msgstr ""
|
||||
"Не вдається прочитати профіль користувача, щоб скасувати його перебування у "
|
||||
"спільноті."
|
||||
|
||||
#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
|
||||
#: actions/groupsalmon.php:188
|
||||
#, php-format
|
||||
msgid "Could not remove remote user %1$s from group %2$s."
|
||||
msgstr "Не вдалось видалити віддаленого користувача %1$s зі спільноти %2$s."
|
||||
|
||||
#. TRANS: Field label for a field that takes an OStatus user address.
|
||||
#: actions/ostatussub.php:68
|
||||
msgid "Subscribe to"
|
||||
msgstr "Підписатися"
|
||||
|
||||
#. TRANS: Tooltip for field label "Subscribe to".
|
||||
#: actions/ostatussub.php:71
|
||||
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: Tooltip for button "Join".
|
||||
#: actions/ostatussub.php:112
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join this group"
|
||||
msgstr "Приєднатися до спільноти"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatussub.php:115
|
||||
msgctxt "BUTTON"
|
||||
msgid "Confirm"
|
||||
msgstr "Підтвердити"
|
||||
|
||||
#. TRANS: Tooltip for button "Confirm".
|
||||
#: actions/ostatussub.php:117
|
||||
msgid "Subscribe to this user"
|
||||
msgstr "Підписатись до цього користувача"
|
||||
|
||||
#: actions/ostatussub.php:138
|
||||
msgid "You are already subscribed to this user."
|
||||
msgstr "Ви вже підписані до цього користувача."
|
||||
|
||||
#: actions/ostatussub.php:167
|
||||
msgid "Photo"
|
||||
msgstr "Фото"
|
||||
|
||||
#: actions/ostatussub.php:178
|
||||
msgid "Nickname"
|
||||
msgstr "Псевдонім"
|
||||
|
||||
#: actions/ostatussub.php:199
|
||||
msgid "Location"
|
||||
msgstr "Розташування"
|
||||
|
||||
#: actions/ostatussub.php:208
|
||||
msgid "URL"
|
||||
msgstr "URL-адреса"
|
||||
|
||||
#: actions/ostatussub.php:220
|
||||
msgid "Note"
|
||||
msgstr "Примітка"
|
||||
|
||||
#. TRANS: Error text.
|
||||
#: actions/ostatussub.php:256 actions/ostatussub.php:263
|
||||
#: actions/ostatussub.php:288
|
||||
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.
|
||||
#: actions/ostatussub.php:267 actions/ostatussub.php:271
|
||||
#: actions/ostatussub.php:275 actions/ostatussub.php:279
|
||||
#: actions/ostatussub.php:283
|
||||
msgid ""
|
||||
"Sorry, we could not reach that feed. Please try that OStatus address again "
|
||||
"later."
|
||||
msgstr ""
|
||||
"Вибачайте, але ми не в змозі досягти цієї веб-стрічки. Будь ласка, спробуйте "
|
||||
"дану адресу ще раз пізніше."
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:317
|
||||
msgid "Already subscribed!"
|
||||
msgstr "Вже підписаний!"
|
||||
|
||||
#. TRANS: OStatus remote subscription dialog error.
|
||||
#: actions/ostatussub.php:322
|
||||
msgid "Remote subscription failed!"
|
||||
msgstr "Підписатися віддалено не вдалося!"
|
||||
|
||||
#: actions/ostatussub.php:369 actions/ostatusinit.php:64
|
||||
msgid "There was a problem with your session token. Try again, please."
|
||||
msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
|
||||
|
||||
#. TRANS: Form title.
|
||||
#: actions/ostatussub.php:397 actions/ostatusinit.php:83
|
||||
msgid "Subscribe to user"
|
||||
msgstr "Підписатися до користувача"
|
||||
|
||||
#. TRANS: Page title for OStatus remote subscription form
|
||||
#: actions/ostatussub.php:417
|
||||
msgid "Confirm"
|
||||
msgstr "Підтвердити"
|
||||
|
||||
#. TRANS: Instructions.
|
||||
#: actions/ostatussub.php:429
|
||||
msgid ""
|
||||
"You can subscribe to users from other supported sites. Paste their address "
|
||||
"or profile URI below:"
|
||||
msgstr ""
|
||||
"Ви маєте можливість підписуватись до користувачів на аналогічних сайтах. "
|
||||
"Просто вставте їхні адреси або URI профілів тут:"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:42
|
||||
msgid "You can use the local subscription!"
|
||||
msgstr "Ви можете користуватись локальними підписками!"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:98
|
||||
#, php-format
|
||||
msgid "Join group %s"
|
||||
msgstr "Приєднатися до спільноти %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:100
|
||||
msgctxt "BUTTON"
|
||||
msgid "Join"
|
||||
msgstr "Приєднатися"
|
||||
|
||||
#. TRANS: Form legend.
|
||||
#: actions/ostatusinit.php:103
|
||||
#, php-format
|
||||
msgid "Subscribe to %s"
|
||||
msgstr "Підписатися до %s"
|
||||
|
||||
#. TRANS: Button text.
|
||||
#: actions/ostatusinit.php:105
|
||||
msgctxt "BUTTON"
|
||||
msgid "Subscribe"
|
||||
msgstr "Підписатись"
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:118
|
||||
msgid "User nickname"
|
||||
msgstr "Ім’я користувача"
|
||||
|
||||
#: actions/ostatusinit.php:119
|
||||
msgid "Nickname of the user you want to follow."
|
||||
msgstr "Ім’я користувача, дописи якого ви хотіли б читати."
|
||||
|
||||
#. TRANS: Field label.
|
||||
#: actions/ostatusinit.php:124
|
||||
msgid "Profile Account"
|
||||
msgstr "Профіль акаунту"
|
||||
|
||||
#. TRANS: Tooltip for field label "Profile Account".
|
||||
#: actions/ostatusinit.php:126
|
||||
msgid "Your account id (e.g. user@identi.ca)."
|
||||
msgstr "Ідентифікатор вашого акаунту (щось на зразок user@identi.ca)"
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:148
|
||||
msgid "Must provide a remote profile."
|
||||
msgstr "Мусите зазначити віддалений профіль."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:160
|
||||
msgid "Couldn't look up OStatus account profile."
|
||||
msgstr "Не вдалося знайти профіль акаунту за протоколом OStatus."
|
||||
|
||||
#. TRANS: Client error.
|
||||
#: actions/ostatusinit.php:173
|
||||
msgid "Couldn't confirm remote profile address."
|
||||
msgstr "Не вдалося підтвердити адресу віддаленого профілю."
|
||||
|
||||
#. TRANS: Page title.
|
||||
#: actions/ostatusinit.php:218
|
||||
msgid "OStatus Connect"
|
||||
msgstr "З’єднання OStatus"
|
||||
|
||||
#: actions/pushcallback.php:50
|
||||
msgid "Empty or invalid feed id."
|
||||
msgstr "Порожній або недійсний ідентифікатор веб-стрічки."
|
||||
|
||||
#. TRANS: Server exception. %s is a feed ID.
|
||||
#: actions/pushcallback.php:56
|
||||
#, php-format
|
||||
msgid "Unknown PuSH feed id %s"
|
||||
msgstr "Веб-стрічка за протоколом PuSH має невідомий ідентифікатор %s"
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid feed name.
|
||||
#: actions/pushcallback.php:96
|
||||
#, 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.
|
||||
#: actions/pushcallback.php:101
|
||||
#, php-format
|
||||
msgid "Bad hub.verify_token %1$s for %2$s."
|
||||
msgstr "hub.verify_token %1$s для %2$s неправильний."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:108
|
||||
#, php-format
|
||||
msgid "Unexpected subscribe request for %s."
|
||||
msgstr "Несподіваний запит підписки для %s."
|
||||
|
||||
#. TRANS: Client exception. %s is an invalid topic.
|
||||
#: actions/pushcallback.php:113
|
||||
#, php-format
|
||||
msgid "Unexpected unsubscribe request for %s."
|
||||
msgstr "Несподіваний запит щодо скасування підписки для %s."
|
@@ -35,6 +35,102 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
|
||||
|
||||
$dry = have_option('dry-run');
|
||||
|
||||
// Look for user.uri matches... These may not match up with the current
|
||||
// URL schema if the site has changed names.
|
||||
echo "Checking for bogus ostatus_profile entries matching user.uri...\n";
|
||||
|
||||
$user = new User();
|
||||
$oprofile = new Ostatus_profile();
|
||||
$user->joinAdd($oprofile, 'INNER', 'oprofile', 'uri');
|
||||
$user->find();
|
||||
$count = $user->N;
|
||||
echo "Found $count...\n";
|
||||
|
||||
while ($user->fetch()) {
|
||||
$uri = $user->uri;
|
||||
echo "user $user->id ($user->nickname) hidden by $uri";
|
||||
if ($dry) {
|
||||
echo " - skipping\n";
|
||||
} else {
|
||||
echo " - removing bogus ostatus_profile entry...";
|
||||
$evil = Ostatus_profile::staticGet('uri', $uri);
|
||||
$evil->delete();
|
||||
echo " ok\n";
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// Also try user_group.uri matches for local groups.
|
||||
// Not all group entries will have this filled out, though, as it's new!
|
||||
echo "Checking for bogus ostatus_profile entries matching local user_group.uri...\n";
|
||||
$group = new User_group();
|
||||
$group->joinAdd(array('uri', 'ostatus_profile:uri'));
|
||||
$group->joinAdd(array('id', 'local_group:group_id'));
|
||||
$group->find();
|
||||
$count = $group->N;
|
||||
echo "Found $count...\n";
|
||||
|
||||
while ($group->fetch()) {
|
||||
$uri = $group->uri;
|
||||
echo "group $group->id ($group->nickname) hidden by $uri";
|
||||
if ($dry) {
|
||||
echo " - skipping\n";
|
||||
} else {
|
||||
echo " - removing bogus ostatus_profile entry...";
|
||||
$evil = Ostatus_profile::staticGet('uri', $uri);
|
||||
$evil->delete();
|
||||
echo " ok\n";
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// And there may be user_group entries remaining where we've already killed
|
||||
// the ostatus_profile. These were "harmless" until our lookup started actually
|
||||
// using the uri field, at which point we can clearly see it breaks stuff.
|
||||
echo "Checking for leftover bogus user_group.uri entries obscuring local_group entries...\n";
|
||||
|
||||
$group = new User_group();
|
||||
$group->joinAdd(array('id', 'local_group:group_id'), 'LEFT');
|
||||
$group->whereAdd('group_id IS NULL');
|
||||
|
||||
|
||||
$marker = mt_rand(31337, 31337000);
|
||||
$groupTemplate = common_local_url('groupbyid', array('id' => $marker));
|
||||
$encGroup = $group->escape($groupTemplate, true);
|
||||
$encGroup = str_replace($marker, '%', $encGroup);
|
||||
echo " LIKE '$encGroup'\n";
|
||||
$group->whereAdd("uri LIKE '$encGroup'");
|
||||
|
||||
$group->find();
|
||||
$count = $group->N;
|
||||
echo "Found $count...\n";
|
||||
|
||||
while ($group->fetch()) {
|
||||
$uri = $group->uri;
|
||||
if (preg_match('!/group/(\d+)/id!', $uri, $matches)) {
|
||||
$id = intval($matches[1]);
|
||||
$local = Local_group::staticGet('group_id', $id);
|
||||
if ($local) {
|
||||
$nick = $local->nickname;
|
||||
} else {
|
||||
$nick = '<deleted>';
|
||||
}
|
||||
echo "local group $id ($local->nickname) hidden by $uri (bogus group id $group->id)";
|
||||
if ($dry) {
|
||||
echo " - skipping\n";
|
||||
} else {
|
||||
echo " - removing bogus user_group entry...";
|
||||
$evil = User_group::staticGet('id', $group->id);
|
||||
$evil->delete();
|
||||
echo " ok\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
|
||||
// Fallback?
|
||||
echo "Checking for bogus profiles blocking local users/groups by URI pattern match...\n";
|
||||
$oprofile = new Ostatus_profile();
|
||||
|
||||
$marker = mt_rand(31337, 31337000);
|
||||
@@ -42,16 +138,18 @@ $marker = mt_rand(31337, 31337000);
|
||||
$profileTemplate = common_local_url('userbyid', array('id' => $marker));
|
||||
$encProfile = $oprofile->escape($profileTemplate, true);
|
||||
$encProfile = str_replace($marker, '%', $encProfile);
|
||||
echo " LIKE '$encProfile'\n";
|
||||
|
||||
$groupTemplate = common_local_url('groupbyid', array('id' => $marker));
|
||||
$encGroup = $oprofile->escape($groupTemplate, true);
|
||||
$encGroup = str_replace($marker, '%', $encGroup);
|
||||
echo " LIKE '$encGroup'\n";
|
||||
|
||||
$sql = "SELECT * FROM ostatus_profile WHERE uri LIKE '%s' OR uri LIKE '%s'";
|
||||
$oprofile->query(sprintf($sql, $encProfile, $encGroup));
|
||||
|
||||
$count = $oprofile->N;
|
||||
echo "Found $count bogus ostatus_profile entries shadowing local users and groups:\n";
|
||||
echo "Found $count...\n";
|
||||
|
||||
while ($oprofile->fetch()) {
|
||||
$uri = $oprofile->uri;
|
||||
@@ -77,7 +175,7 @@ while ($oprofile->fetch()) {
|
||||
echo "$uri matched query, but we don't recognize it.\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if ($dry) {
|
||||
echo " - skipping\n";
|
||||
} else {
|
||||
@@ -93,4 +191,3 @@ if ($count && $dry) {
|
||||
} else {
|
||||
echo "done.\n";
|
||||
}
|
||||
|
||||
|
@@ -38,7 +38,7 @@ if (empty($args[0]) || !Validate::uri($args[0])) {
|
||||
$feedurl = $args[0];
|
||||
|
||||
|
||||
$sub = FeedSub::staticGet('topic', $feedurl);
|
||||
$sub = FeedSub::staticGet('uri', $feedurl);
|
||||
if (!$sub) {
|
||||
print "Feed $feedurl is not subscribed.\n";
|
||||
exit(1);
|
||||
@@ -57,7 +57,7 @@ if ($ok) {
|
||||
print "Could not confirm.\n";
|
||||
}
|
||||
|
||||
$sub2 = FeedSub::staticGet('topic', $feedurl);
|
||||
$sub2 = FeedSub::staticGet('uri', $feedurl);
|
||||
|
||||
print "\n";
|
||||
print "New state:\n";
|
||||
|
@@ -45,7 +45,7 @@ $skip = have_option('skip') ? intval(get_option_value('skip')) : 0;
|
||||
$count = have_option('count') ? intval(get_option_value('count')) : 0;
|
||||
|
||||
|
||||
$sub = FeedSub::staticGet('topic', $feedurl);
|
||||
$sub = FeedSub::staticGet('uri', $feedurl);
|
||||
if (!$sub) {
|
||||
print "Feed $feedurl is not subscribed.\n";
|
||||
exit(1);
|
||||
@@ -86,4 +86,3 @@ if ($skip || $count) {
|
||||
}
|
||||
|
||||
Event::handle('StartFeedSubReceive', array($sub, $feed));
|
||||
|
||||
|
@@ -44,14 +44,14 @@ try {
|
||||
if (empty($user)) {
|
||||
throw new Exception("Can't find user with id '$id'.");
|
||||
}
|
||||
updateProfileURL($user);
|
||||
updateOStatus($user);
|
||||
} else if (have_option('n', 'nickname')) {
|
||||
$nickname = get_option_value('n', 'nickname');
|
||||
$user = User::staticGet('nickname', $nickname);
|
||||
if (empty($user)) {
|
||||
throw new Exception("Can't find user with nickname '$nickname'");
|
||||
throw new Exception("Can't find user with nickname '$nickname'.");
|
||||
}
|
||||
updateProfileURL($user);
|
||||
updateOStatus($user);
|
||||
} else if (have_option('a', 'all')) {
|
||||
$user = new User();
|
||||
if ($user->find()) {
|
||||
|
@@ -53,7 +53,7 @@ class FeedDiscoveryTest extends PHPUnit_Framework_TestCase
|
||||
</style>
|
||||
|
||||
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://leuksman.com/log/xmlrpc.php?rsd" />
|
||||
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://leuksman.com/log/wp-includes/wlwmanifest.xml" />
|
||||
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://leuksman.com/log/wp-includes/wlwmanifest.xml" />
|
||||
<link rel='index' title='leŭksman' href='http://leuksman.com/log' />
|
||||
<meta name="generator" content="WordPress 2.8.6" />
|
||||
</head>
|
||||
@@ -75,9 +75,10 @@ END;
|
||||
'<body><pre><LINK rel=alternate hRef=http://example.com/feed/rss type=application/rss+xml><fnork',
|
||||
'http://example.com/feed/rss'),
|
||||
// 'rel' attribute must be lowercase, alone per http://www.rssboard.org/rss-autodiscovery
|
||||
// but we're going to be liberal in what we receive.
|
||||
array('http://example.com/tagsoup2',
|
||||
'<body><pre><LINK rel=" feeders alternate 467" hRef=http://example.com/feed/rss type=application/rss+xml><fnork',
|
||||
false),
|
||||
'http://example.com/feed/rss'),
|
||||
array('http://example.com/tagsoup3',
|
||||
'<body><pre><LINK rel=ALTERNATE hRef=http://example.com/feed/rss type=application/rss+xml><fnork',
|
||||
false),
|
||||
@@ -87,18 +88,20 @@ END;
|
||||
array('http://example.com/relative/link2',
|
||||
'<html><link rel="alternate" href="../feed/rss" type="application/rss+xml">',
|
||||
'http://example.com/feed/rss'),
|
||||
// This one can't resolve correctly; relative link is bogus.
|
||||
array('http://example.com/relative/link3',
|
||||
'<html><link rel="alternate" href="http:/feed/rss" type="application/rss+xml">',
|
||||
'http://example.com/feed/rss'),
|
||||
'http:/feed/rss'),
|
||||
array('http://example.com/base/link1',
|
||||
'<html><link rel="alternate" href="/feed/rss" type="application/rss+xml"><base href="http://target.example.com/">',
|
||||
'http://target.example.com/feed/rss'),
|
||||
array('http://example.com/base/link2',
|
||||
'<html><link rel="alternate" href="feed/rss" type="application/rss+xml"><base href="http://target.example.com/">',
|
||||
'http://target.example.com/feed/rss'),
|
||||
// This one can't resolve; relative link is bogus.
|
||||
array('http://example.com/base/link3',
|
||||
'<html><link rel="alternate" href="http:/feed/rss" type="application/rss+xml"><base href="http://target.example.com/">',
|
||||
'http://target.example.com/feed/rss'),
|
||||
'http:/feed/rss'),
|
||||
// Trick question! There's a <base> but no href on it
|
||||
array('http://example.com/relative/fauxbase',
|
||||
'<html><link rel="alternate" href="../feed/rss" type="application/rss+xml"><base target="top">',
|
||||
|
@@ -4,6 +4,8 @@ if (php_sapi_name() != 'cli') {
|
||||
die('not for web');
|
||||
}
|
||||
|
||||
define('HTTP_TIMEOUT', 60); // ssslllloowwwww salmon if queues are off
|
||||
|
||||
define('INSTALLDIR', dirname(dirname(dirname(dirname(__FILE__)))));
|
||||
set_include_path(INSTALLDIR . '/extlib' . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
@@ -61,14 +63,15 @@ class OStatusTester extends TestBase
|
||||
/**
|
||||
* @param string $a base URL of test site A (eg http://localhost/mublog)
|
||||
* @param string $b base URL of test site B (eg http://localhost/mublog2)
|
||||
* @param int $timeout HTTP timeout value (needs to be long if Salmon is slow)
|
||||
*/
|
||||
function __construct($a, $b) {
|
||||
function __construct($a, $b, $timeout=60) {
|
||||
$this->a = $a;
|
||||
$this->b = $b;
|
||||
|
||||
$base = 'test' . mt_rand(1, 1000000);
|
||||
$this->pub = new SNTestClient($this->a, 'pub' . $base, 'pw-' . mt_rand(1, 1000000));
|
||||
$this->sub = new SNTestClient($this->b, 'sub' . $base, 'pw-' . mt_rand(1, 1000000));
|
||||
$this->pub = new SNTestClient($this->a, 'pub' . $base, 'pw-' . mt_rand(1, 1000000), $timeout);
|
||||
$this->sub = new SNTestClient($this->b, 'sub' . $base, 'pw-' . mt_rand(1, 1000000), $timeout);
|
||||
}
|
||||
|
||||
function run()
|
||||
@@ -164,11 +167,12 @@ class OStatusTester extends TestBase
|
||||
|
||||
class SNTestClient extends TestBase
|
||||
{
|
||||
function __construct($base, $username, $password)
|
||||
function __construct($base, $username, $password, $timeout=60)
|
||||
{
|
||||
$this->basepath = $base;
|
||||
$this->username = $username;
|
||||
$this->password = $password;
|
||||
$this->timeout = $timeout;
|
||||
|
||||
$this->fullname = ucfirst($username) . ' Smith';
|
||||
$this->homepage = 'http://example.org/' . $username;
|
||||
@@ -188,7 +192,7 @@ class SNTestClient extends TestBase
|
||||
{
|
||||
$url = $this->basepath . '/' . $path;
|
||||
|
||||
$http = new HTTP_Request2($url, 'POST');
|
||||
$http = new HTTP_Request2($url, 'POST', array('timeout' => $this->timeout));
|
||||
if ($auth) {
|
||||
$http->setAuth($this->username, $this->password, HTTP_Request2::AUTH_BASIC);
|
||||
}
|
||||
@@ -215,7 +219,7 @@ class SNTestClient extends TestBase
|
||||
protected function web($path, $form, $params=array())
|
||||
{
|
||||
$url = $this->basepath . '/' . $path;
|
||||
$http = new HTTP_Request2($url, 'GET');
|
||||
$http = new HTTP_Request2($url, 'GET', array('timeout' => $this->timeout));
|
||||
$response = $http->send();
|
||||
|
||||
$dom = $this->checkWeb($url, 'GET', $response);
|
||||
@@ -500,7 +504,7 @@ class SNTestClient extends TestBase
|
||||
$me = $this->getProfileUri();
|
||||
return $this->checkSubscription($profile_uri, $me);
|
||||
}
|
||||
|
||||
|
||||
protected function checkSubscription($subscriber, $subscribed)
|
||||
{
|
||||
// Using FOAF as the API methods for checking the social graph
|
||||
@@ -532,10 +536,29 @@ class SNTestClient extends TestBase
|
||||
|
||||
}
|
||||
|
||||
$args = array_slice($_SERVER['argv'], 1);
|
||||
// @fixme switch to commandline.inc?
|
||||
$timeout = HTTP_TIMEOUT;
|
||||
|
||||
$args = array();
|
||||
$options = array();
|
||||
foreach (array_slice($_SERVER['argv'], 1) as $arg) {
|
||||
if (substr($arg, 0, 2) == '--') {
|
||||
$bits = explode('=', substr($arg, 2), 2);
|
||||
if (count($bits == 2)) {
|
||||
list($key, $val) = $bits;
|
||||
$options[$key] = $val;
|
||||
} else {
|
||||
list($key) = $bits;
|
||||
$options[$key] = true;
|
||||
}
|
||||
} else {
|
||||
$args[] = $arg;
|
||||
}
|
||||
}
|
||||
if (count($args) < 2) {
|
||||
print <<<END_HELP
|
||||
remote-tests.php <url1> <url2>
|
||||
remote-tests.php [options] <url1> <url2>
|
||||
--timeout=## change HTTP timeout from default {$timeout}s
|
||||
url1: base URL of a StatusNet instance
|
||||
url2: base URL of another StatusNet instance
|
||||
|
||||
@@ -549,7 +572,9 @@ exit(1);
|
||||
|
||||
$a = $args[0];
|
||||
$b = $args[1];
|
||||
if (isset($options['timeout'])) {
|
||||
$timeout = intval($options['timeout']);
|
||||
}
|
||||
|
||||
$tester = new OStatusTester($a, $b);
|
||||
$tester = new OStatusTester($a, $b, $timeout);
|
||||
$tester->run();
|
||||
|
||||
|
Reference in New Issue
Block a user