* i18n/L10n update

* translator comments added
* remove superfluous whitespace
This commit is contained in:
Siebrand Mazeland 2010-09-19 15:17:36 +02:00
parent 07cd52afc7
commit 5a6f616206
26 changed files with 236 additions and 194 deletions

View File

@ -223,6 +223,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,6 +242,7 @@ 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'));
}
@ -453,6 +455,7 @@ class OStatusPlugin extends Plugin
}
$url = $notice->url;
// TRANSLATE: %s is a domain.
$title = sprintf(_m("Sent from %s via OStatus"), $domain);
return false;
}
@ -524,6 +527,7 @@ class OStatusPlugin extends Plugin
}
if (!$oprofile->subscribe()) {
// TRANS: Exception.
throw new Exception(_m('Could not set up remote subscription.'));
}
}
@ -563,10 +567,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Follow");
$act->title = _m("Follow");
// TRANS: Success message for subscribe to user attempt through OStatus.
// TRANS: %1$s is the subscriber name, %2$s is the subscribed user's name.
$act->content = sprintf(_("%1$s is now following %2$s."),
$act->content = sprintf(_m('%1$s is now following %2$s.'),
$subscriber->getBestName(),
$other->getBestName());
@ -613,10 +617,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Unfollow");
$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(_("%1$s stopped following %2$s."),
$act->content = sprintf(_m('%1$s stopped following %2$s.'),
$profile->getBestName(),
$other->getBestName());
@ -671,6 +675,7 @@ class OStatusPlugin extends Plugin
return true;
} else {
$oprofile->garbageCollect();
// TRANS: Exception.
throw new Exception(_m("Failed joining remote group."));
}
}
@ -729,7 +734,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);
@ -753,10 +757,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Favor");
$act->title = _m('Favor');
// TRANS: Success message for adding a favorite notice through OStatus.
// TRANS: %1$s is the favoring user's name, %2$s is URI to the favored notice.
$act->content = sprintf(_("%1$s marked notice %2$s as a favorite."),
$act->content = sprintf(_m('%1$s marked notice %2$s as a favorite.'),
$profile->getBestName(),
$notice->uri);
@ -799,10 +803,10 @@ class OStatusPlugin extends Plugin
$notice->id,
common_date_iso8601(time()));
$act->time = time();
$act->title = _("Disfavor");
$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(_("%1$s marked notice %2$s as no longer a favorite."),
$act->content = sprintf(_m('%1$s marked notice %2$s as no longer a favorite.'),
$profile->getBestName(),
$notice->uri);
@ -876,8 +880,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')); // @todo: i18n: Add translator hint for this text.
'class' => 'entity_remote_subscribe'),
// TRANS: Link text for link to remote subscribe.
_m('Remote'));
$action->elementEnd('p');
$action->elementEnd('div');
}
@ -916,6 +921,7 @@ 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.
@ -948,7 +954,8 @@ class OStatusPlugin extends Plugin
array('nickname' => $profileUser->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
_m('Subscribe')); // @todo: i18n: Add context.
// TRANS: Link text for a user to subscribe to an OStatus user.
_m('Subscribe'));
$output->elementEnd('li');
}
}
@ -962,9 +969,9 @@ 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 '.
'<a href="http://ostatus.org/">OStatus</a>.')); // @todo i18n: Add translator hint.
// TRANS: Plugin description.
'rawdescription' => _m('Follow people across social networks that implement '.
'<a href="http://ostatus.org/">OStatus</a>.'));
return true;
}

View File

@ -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;
}
}
}

View File

@ -26,7 +26,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class HostMetaAction extends Action
{
function handle()
{
parent::handle();

View File

@ -72,13 +72,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,
// 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 +159,6 @@ class OStatusGroupAction extends OStatusSubAction
*
* @return string Title of the page
*/
function title()
{
// TRANS: Page title for OStatus remote group join form
@ -168,9 +170,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:');
}

View File

@ -27,7 +27,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class OStatusInitAction extends Action
{
var $nickname;
var $group;
var $profile;
@ -38,6 +37,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;
}
@ -78,6 +78,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');
@ -92,11 +93,15 @@ class OStatusInitAction extends Action
function showContent()
{
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',
@ -108,12 +113,15 @@ 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.'));
$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,
// TRANS: Tooltip for field label "Profile Account".
_m('Your account id (e.g. user@identi.ca).'));
$this->elementEnd('li');
$this->elementEnd('ul');
@ -135,6 +143,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."));
}
}
@ -146,6 +155,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."));
}
@ -158,6 +168,7 @@ class OStatusInitAction extends Action
}
}
// TRANS: Client error.
$this->clientError(_m("Couldn't confirm remote profile address."));
}
@ -183,6 +194,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) {
@ -190,16 +202,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()
{
// TRANS: Page title.
return _m('OStatus Connect');
}
}

View File

@ -62,13 +62,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")); // @todo i18n FIXME: needs context/translator hint.
// 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')); // @todo i18n FIXME: needs context/translator hint.
// TRANS: Button text.
$this->submit('validate', _m('BUTTON','Continue'));
$this->elementEnd('fieldset');
@ -103,10 +105,14 @@ 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')); // @todo i18n FIXME: needs context/translator hint.
// TRANS: Button text.
// TRANS: Tooltip for button "Join".
_m('BUTTON','Join this group'));
} else {
$this->submit('submit', _m('Confirm'), 'submit', null,
_m('Subscribe to this user')); // @todo i18n FIXME: needs context/translator hint.
// TRANS: Button text.
$this->submit('submit', _m('BUTTON','Confirm'), 'submit', null,
// TRANS: Tooltip for button "Confirm".
_m('Subscribe to this user'));
}
$this->elementEnd('fieldset');
$this->elementEnd('form');
@ -156,7 +162,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 +173,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 +194,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 +203,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 +215,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,31 +250,39 @@ class OStatusSubAction extends Action
} else if (Validate::uri($this->profile_uri)) {
$this->oprofile = Ostatus_profile::ensureProfileURL($this->profile_uri);
} else {
// 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) {
// 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
// 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 +364,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 +391,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 +423,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 +442,6 @@ class OStatusSubAction extends Action
*
* @return void
*/
function showContent()
{
if ($this->oprofile) {
@ -459,5 +474,4 @@ class OStatusSubAction extends Action
function showNoticeForm() {
// nop
}
}

View File

@ -34,7 +34,7 @@ class OwnerxrdAction extends XrdAction
$this->user = User::siteOwner();
if (!$this->user) {
$this->clientError(_('No such user.'), 404);
$this->clientError(_m('No such user.'), 404);
return false;
}

View File

@ -24,7 +24,6 @@
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class PushCallbackAction extends Action
{
function handle()
@ -46,13 +45,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) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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 = '';
@ -84,30 +83,31 @@ class PushCallbackAction extends Action
$verify_token = $this->arg('hub_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) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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') {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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') {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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);
}
}

View File

@ -62,11 +62,11 @@ class PushHubAction extends Action
$this->subunsub($mode);
break;
case "publish":
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
throw new ClientException("Publishing outside feeds not supported.", 400);
// TRANS: Client exception.
throw new ClientException(_m('Publishing outside feeds not supported.'), 400);
default:
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
throw new ClientException("Unrecognized mode '$mode'.", 400);
// TRANS: Client exception. %s is a mode.
throw new ClientException(sprintf(_m('Unrecognized mode "%s".'),$mode), 400);
}
}
@ -85,28 +85,28 @@ class PushHubAction extends Action
$topic = $this->argUrl('hub.topic');
if (!$this->recognizedFeed($topic)) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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') {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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)) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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);
@ -157,8 +157,8 @@ class PushHubAction extends Action
if ($feed == $userFeed) {
$user = User::staticGet('id', $id);
if (!$user) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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;
}
@ -166,8 +166,8 @@ class PushHubAction extends Action
if ($feed == $groupFeed) {
$user = User_group::staticGet('id', $id);
if (!$user) {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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;
}
@ -190,8 +190,9 @@ class PushHubAction extends Action
if (Validate::uri($url, $params)) {
return $url;
} else {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
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));
}
}

View File

@ -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;
@ -78,20 +77,24 @@ class UsersalmonAction extends SalmonAction
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 &&
!in_array($this->user->id, $notice->getReplies())) {
throw new ClientException("In reply to a notice not by this user and not mentioning this user");
// 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);
@ -108,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();
@ -152,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.'));
}
}
@ -172,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();
@ -186,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) {
@ -197,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;
}
}

View File

@ -17,16 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('STATUSNET')) { exit(1); }
/**
* @package OStatusPlugin
* @maintainer James Walker <james@status.net>
*/
if (!defined('STATUSNET')) { exit(1); }
class UserxrdAction extends XrdAction
{
function prepare($args)
{
parent::prepare($args);
@ -46,7 +44,7 @@ class UserxrdAction extends XrdAction
$this->user = User::staticGet('uri', $this->uri);
}
if (!$this->user) {
$this->clientError(_('No such user.'), 404);
$this->clientError(_m('No such user.'), 404);
return false;
}

View File

@ -39,7 +39,6 @@ PuSH subscription flow:
hub sends us updates via POST
*/
class FeedDBException extends FeedSubException
{
public $obj;
@ -88,7 +87,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 +141,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array key definitions
*/
function keys()
{
return array_keys($this->keyTypes());
@ -157,7 +154,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array key definitions
*/
function keyTypes()
{
return array('id' => 'K', 'uri' => 'U');
@ -249,7 +245,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 +275,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,5 +496,4 @@ class FeedSub extends Memcached_DataObject
}
return false;
}
}

View File

@ -54,7 +54,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 +111,6 @@ class HubSub extends Memcached_DataObject
*
* @return array key definitions
*/
function keyTypes()
{
return array('hashkey' => 'K');
@ -206,8 +204,8 @@ class HubSub extends Memcached_DataObject
if ($status >= 200 && $status < 300) {
common_log(LOG_INFO, "Verified $mode of $this->callback:$this->topic");
} else {
// @todo i18n FIXME: add i18n and use sprintf for parameter.
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);
@ -353,10 +351,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())));
}
}
}

View File

@ -31,7 +31,6 @@ require_once 'Crypt/RSA.php';
class Magicsig extends Memcached_DataObject
{
const PUBLICKEYREL = 'magic-public-key';
public $__table = 'magicsig';
@ -86,7 +85,6 @@ class Magicsig extends Memcached_DataObject
64, false));
}
function keys()
{
return array_keys($this->keyTypes());
@ -126,7 +124,6 @@ class Magicsig extends Memcached_DataObject
$this->insert();
}
public function toString($full_pair = true)
{
$mod = Magicsig::base64_url_encode($this->publicKey->modulus->toBytes());
@ -197,7 +194,6 @@ class Magicsig extends Memcached_DataObject
case 'RSA-SHA256':
return 'sha256';
}
}
public function sign($bytes)

View File

@ -21,7 +21,6 @@
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
class Ostatus_profile extends Memcached_DataObject
{
public $__table = 'ostatus_profile';
@ -51,7 +50,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array array of column definitions
*/
function table()
{
return array('uri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@ -92,7 +90,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array key definitions
*/
function keys()
{
return array_keys($this->keyTypes());
@ -106,7 +103,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array key definitions
*/
function keyTypes()
{
return array('uri' => 'K', 'profile_id' => 'U', 'group_id' => 'U', 'feeduri' => 'U');
@ -188,11 +184,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) {
// @todo i18n FIXME: use sprintf and add i18n.
throw new ServerException("Invalid ostatus_profile state: both group and profile IDs set for $this->uri.");
// TRANS: Server exception.
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs set for %s.'),$this->uri));
} else {
// @todo i18n FIXME: use sprintf and add i18n.
throw new ServerException("Invalid ostatus_profile state: both group and profile IDs empty for $this->uri.");
// TRANS: Server exception.
throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs empty for %s.'),$this->uri));
}
}
@ -280,7 +276,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;
@ -372,8 +370,8 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($entry instanceof Notice) {
return $preamble . $entry->asAtomEntry(true, true);
} else {
// @todo i18n FIXME: use sprintf and add i18n.
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.'));
}
}
@ -403,7 +401,7 @@ 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.");
throw new Exception(_m('Unknown feed format.'));
}
}
@ -426,7 +424,7 @@ class Ostatus_profile extends Memcached_DataObject
$channels = $rss->getElementsByTagName('channel');
if ($channels->length == 0) {
throw new Exception("RSS feed without a channel.");
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");
}
@ -470,7 +468,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));
@ -552,8 +551,8 @@ class Ostatus_profile extends Memcached_DataObject
$sourceContent = $note->title;
} else {
// @fixme fetch from $sourceUrl?
// @todo i18n FIXME: use sprintf and add i18n.
throw new ClientException("No content for notice {$sourceUri}.");
// TRANS: Client exception. %s is a source URL.
throw new ClientException(sprintf(_m('No content for notice %s.'),$sourceUri));
}
// Get (safe!) HTML and text versions of the content
@ -584,14 +583,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.
// TRANS: Shown when a notice is longer than supported and/or when attachments are present.
$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) . '">' .
'&#8230;' .
'</a>'; // @todo i18n FIXME: add translator hint/context.
'</a>';
}
}
@ -775,8 +777,8 @@ class Ostatus_profile extends Memcached_DataObject
$response = $client->get($profile_url);
if (!$response->isOk()) {
// @todo i18n FIXME: use sprintf and add i18n.
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
@ -833,8 +835,8 @@ class Ostatus_profile extends Memcached_DataObject
return self::ensureFeedURL($feedurl, $hints);
}
// @todo i18n FIXME: use sprintf and add i18n.
throw new Exception("Could not find a feed URL for profile page " . $finalUrl);
// TRANS: Exception.
throw new Exception(sprintf(_m('Could not find a feed URL for profile page %s.'),$finalUrl));
}
/**
@ -866,7 +868,7 @@ class Ostatus_profile extends Memcached_DataObject
$user = User::staticGet('id', $profile->id);
if (!empty($user)) {
// @todo i18n FIXME: use sprintf and add i18n.
// @todo i18n FIXME: use sprintf and add i18n (?)
throw new OStatusShadowException($profile, "'$profile_url' is the profile for local user '{$user->nickname}'.");
}
@ -971,8 +973,7 @@ 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.");
throw new FeedSubException(_m('Can\'t find enough profile information to make a feed.'));
}
/**
@ -1270,13 +1271,13 @@ class Ostatus_profile extends Memcached_DataObject
$user = User::staticGet('uri', $homeuri);
if ($user) {
// @todo i18n FIXME: add i18n.
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)) {
// @todo i18n FIXME: add i18n.
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)) {
@ -1327,8 +1328,8 @@ class Ostatus_profile extends Memcached_DataObject
$oprofile->profile_id = $profile->insert();
if (!$oprofile->profile_id) {
// @todo i18n FIXME: add i18n.
throw new ServerException("Can't save local profile.");
// TRANS: Exception.
throw new ServerException(_m('Can\'t save local profile.'));
}
} else {
$group = new User_group();
@ -1338,16 +1339,16 @@ class Ostatus_profile extends Memcached_DataObject
$oprofile->group_id = $group->insert();
if (!$oprofile->group_id) {
// @todo i18n FIXME: add i18n.
throw new ServerException("Can't save local profile.");
// TRANS: Exception.
throw new ServerException(_m('Can\'t save local profile.'));
}
}
$ok = $oprofile->insert();
if (!$ok) {
// @todo i18n FIXME: add i18n.
throw new ServerException("Can't save OStatus profile.");
// TRANS: Exception.
throw new ServerException(_m('Can\'t save OStatus profile.'));
}
$avatar = self::getActivityObjectAvatar($object, $hints);
@ -1605,8 +1606,8 @@ class Ostatus_profile extends Memcached_DataObject
if ($uri !== false) {
if (is_null($uri)) {
// Negative cache entry
// @todo i18n FIXME: add i18n.
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)) {
@ -1633,8 +1634,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);
// @todo i18n FIXME: add i18n.
throw new Exception('Not a valid webfinger address.');
// TRANS: Exception.
throw new Exception(_m('Not a valid webfinger address.'));
}
$hints = array('webfinger' => $addr);
@ -1715,8 +1716,8 @@ class Ostatus_profile extends Memcached_DataObject
if (!$profile_id) {
common_log_db_error($profile, 'INSERT', __FILE__);
// @todo i18n FIXME: add i18n and use sprintf for parameter.
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();
@ -1734,16 +1735,16 @@ class Ostatus_profile extends Memcached_DataObject
if (!$result) {
common_log_db_error($oprofile, 'INSERT', __FILE__);
// @todo i18n FIXME: add i18n and use sprintf for parameter.
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;
}
// @todo i18n FIXME: add i18n and use sprintf for parameter.
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));
}
/**
@ -1785,7 +1786,7 @@ 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.'));
throw new ServerException(_m('Could not store HTML content of long post as file.'));
}
return $file;

View File

@ -21,7 +21,6 @@
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
class Ostatus_source extends Memcached_DataObject
{
public $__table = 'ostatus_source';
@ -43,7 +42,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 +67,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array key definitions
*/
function keys()
{
return array_keys($this->keyTypes());
@ -83,7 +80,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array key definitions
*/
function keyTypes()
{
return array('notice_id' => 'K');

View File

@ -106,8 +106,8 @@ class Discovery
}
}
// @todo Needs i18n.
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) {

View File

@ -20,7 +20,6 @@
*/
class DiscoveryHints {
static function fromXRD($xrd)
{
$hints = array();

View File

@ -1,4 +1,7 @@
<?php
/**
* @todo Add file header and documentation.
*/
class LinkHeader
{

View File

@ -76,7 +76,8 @@ class MagicEnvelope
}
}
}
throw new Exception('Unable to locate signer public key.');
// TRANS: Exception.
throw new Exception(_m('Unable to locate signer public key.'));
}
@ -92,7 +93,6 @@ class MagicEnvelope
'sig' => $signature_alg->sign($armored_text),
'alg' => $signature_alg->getName()
);
}
public function toXML($env) {
@ -110,7 +110,6 @@ class MagicEnvelope
return $string;
}
public function unfold($env)
{
$dom = new DOMDocument();
@ -218,5 +217,4 @@ class MagicEnvelope
'sig' => preg_replace('/\s/', '', $sig_element->nodeValue),
);
}
}

View File

@ -221,5 +221,4 @@ class OStatusQueueHandler extends QueueHandler
return $feed;
}
}

View File

@ -22,7 +22,6 @@
* @package FeedSub
* @author Brion Vibber <brion@status.net>
*/
class PushInQueueHandler extends QueueHandler
{
function transport()

View File

@ -89,8 +89,8 @@ class Salmon
$magickey->generate($user->id);
}
} else {
// @todo i18n FIXME: added i18n and use sprintf when using parameters.
throw new Exception("Salmon invalid actor for signing.");
// TRANS: Exception.
throw new Exception(_m('Salmon invalid actor for signing.'));
}
try {
@ -101,7 +101,6 @@ class Salmon
return $magic_env->toXML($env);
}
public function verifyMagicEnv($text)
{
$magic_env = new MagicEnvelope();

View File

@ -38,11 +38,12 @@ class SalmonAction extends Action
parent::prepare($args);
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
// TRANS: POST is a HTTP command. It should not be translated.
// 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') {
// TRANS: Client error. Do not translate "application/magic-envelope+xml"
$this->clientError(_m('Salmon requires "application/magic-envelope+xml".'));
}
@ -52,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();
@ -63,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.'));
}
@ -111,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));
@ -119,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."));
}
@ -181,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);

View File

@ -27,7 +27,6 @@
* @link http://status.net/
*/
class XRD
{
const XML_NS = 'http://www.w3.org/2000/xmlns/';
@ -61,11 +60,13 @@ class XRD
error_reporting($old);
if (!$ok) {
throw new Exception("Invalid XML.");
// TRANS: Exception.
throw new Exception(_m('Invalid XML.'));
}
$xrd_element = $dom->getElementsByTagName('XRD')->item(0);
if (!$xrd_element) {
throw new Exception("Invalid XML, missing XRD root.");
// TRANS: Exception.
throw new Exception(_m('Invalid XML, missing XRD root.'));
}
// Check for host-meta host

View File

@ -103,5 +103,4 @@ class XrdAction extends Action
header('Content-type: application/xrd+xml');
print $xrd->toXML();
}
}