* translator documntation updated

* superfluous whitespace remove
* minor L10n and i18n updates
This commit is contained in:
Siebrand Mazeland 2011-03-05 00:12:38 +01:00
parent 2fa95144ed
commit b37e12ed34
10 changed files with 113 additions and 20 deletions

View File

@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
*/ */
class LicenseadminpanelAction extends AdminPanelAction class LicenseadminpanelAction extends AdminPanelAction
{ {
/** /**
* Returns the page title * Returns the page title
* *
@ -62,6 +61,7 @@ class LicenseadminpanelAction extends AdminPanelAction
*/ */
function getInstructions() function getInstructions()
{ {
// TRANS: Form instructions for the site license admin panel.
return _('License for this StatusNet site'); return _('License for this StatusNet site');
} }
@ -131,7 +131,8 @@ class LicenseadminpanelAction extends AdminPanelAction
$types = array('private', 'allrightsreserved', 'cc'); $types = array('private', 'allrightsreserved', 'cc');
if (!in_array($values['license']['type'], $types)) { if (!in_array($values['license']['type'], $types)) {
$this->clientError(_("Invalid license selection.")); // TRANS: Client error displayed selecting an invalid license in the license admin panel.
$this->clientError(_('Invalid license selection.'));
} }
// Make sure the user has set an owner if the site has a private // Make sure the user has set an owner if the site has a private
@ -141,13 +142,15 @@ class LicenseadminpanelAction extends AdminPanelAction
&& empty($values['license']['owner']) && empty($values['license']['owner'])
) { ) {
$this->clientError( $this->clientError(
_("You must specify the owner of the content when using the All Rights Reserved license.") // TRANS: Client error displayed when not specifying an owner for the all rights reserved license in the license admin panel.
_('You must specify the owner of the content when using the All Rights Reserved license.')
); );
} }
// Make sure the license title is not too long // Make sure the license title is not too long
if (mb_strlen($values['license']['type']) > 255) { if (mb_strlen($values['license']['type']) > 255) {
$this->clientError( $this->clientError(
// TRANS: Client error displayed selecting a too long license title in the license admin panel.
_('Invalid license title. Maximum length is 255 characters.') _('Invalid license title. Maximum length is 255 characters.')
); );
} }
@ -160,10 +163,12 @@ class LicenseadminpanelAction extends AdminPanelAction
if ($values['license']['type'] == 'cc') { if ($values['license']['type'] == 'cc') {
if (!Validate::uri($values['license']['url'], $options)) { if (!Validate::uri($values['license']['url'], $options)) {
$this->clientError(_("Invalid license URL.")); // TRANS: Client error displayed specifying an invalid license URL in the license admin panel.
$this->clientError(_('Invalid license URL.'));
} }
if (!Validate::uri($values['license']['image'], $options)) { if (!Validate::uri($values['license']['image'], $options)) {
$this->clientError(_("Invalid license image URL.")); // TRANS: Client error displayed specifying an invalid license image URL in the license admin panel.
$this->clientError(_('Invalid license image URL.'));
} }
} }
@ -171,7 +176,8 @@ class LicenseadminpanelAction extends AdminPanelAction
if (!empty($values['license']['url'])) { if (!empty($values['license']['url'])) {
if (!Validate::uri($values['license']['url'], $options)) { if (!Validate::uri($values['license']['url'], $options)) {
$this->clientError(_("License URL must be blank or a valid URL.")); // TRANS: Client error displayed specifying an invalid license URL in the license admin panel.
$this->clientError(_('License URL must be blank or a valid URL.'));
} }
} }
@ -179,7 +185,8 @@ class LicenseadminpanelAction extends AdminPanelAction
if (!empty($values['license']['image'])) { if (!empty($values['license']['image'])) {
if (!Validate::uri($values['license']['image'], $options)) { if (!Validate::uri($values['license']['image'], $options)) {
$this->clientError(_("License image must be blank or valid URL.")); // TRANS: Client error displayed specifying an invalid license image URL in the license admin panel.
$this->clientError(_('License image must be blank or valid URL.'));
} }
} }
} }
@ -229,22 +236,28 @@ class LicenseAdminPanelForm extends AdminForm
$this->out->elementStart( $this->out->elementStart(
'fieldset', array('id' => 'settings_license-selection') 'fieldset', array('id' => 'settings_license-selection')
); );
// TRANS: Form legend in the license admin panel.
$this->out->element('legend', null, _('License selection')); $this->out->element('legend', null, _('License selection'));
$this->out->elementStart('ul', 'form_data'); $this->out->elementStart('ul', 'form_data');
$this->li(); $this->li();
$types = array( $types = array(
// TRANS: License option in the license admin panel.
'private' => _('Private'), 'private' => _('Private'),
// TRANS: License option in the license admin panel.
'allrightsreserved' => _('All Rights Reserved'), 'allrightsreserved' => _('All Rights Reserved'),
// TRANS: License option in the license admin panel.
'cc' => _('Creative Commons') 'cc' => _('Creative Commons')
); );
$this->out->dropdown( $this->out->dropdown(
'type', 'type',
// TRANS: Dropdown field label in the license admin panel.
_('Type'), _('Type'),
$types, $types,
_('Select license'), // TRANS: Dropdown field instructions in the license admin panel.
_('Select a license.'),
false, false,
$this->value('type', 'license') $this->value('type', 'license')
); );
@ -258,13 +271,16 @@ class LicenseAdminPanelForm extends AdminForm
'fieldset', 'fieldset',
array('id' => 'settings_license-details') array('id' => 'settings_license-details')
); );
// TRANS: Form legend in the license admin panel.
$this->out->element('legend', null, _('License details')); $this->out->element('legend', null, _('License details'));
$this->out->elementStart('ul', 'form_data'); $this->out->elementStart('ul', 'form_data');
$this->li(); $this->li();
$this->input( $this->input(
'owner', 'owner',
// TRANS: Field label in the license admin panel.
_('Owner'), _('Owner'),
// TRANS: Field title in the license admin panel.
_('Name of the owner of the site\'s content (if applicable).'), _('Name of the owner of the site\'s content (if applicable).'),
'license' 'license'
); );
@ -273,7 +289,9 @@ class LicenseAdminPanelForm extends AdminForm
$this->li(); $this->li();
$this->input( $this->input(
'title', 'title',
// TRANS: Field label in the license admin panel.
_('License Title'), _('License Title'),
// TRANS: Field title in the license admin panel.
_('The title of the license.'), _('The title of the license.'),
'license' 'license'
); );
@ -282,7 +300,9 @@ class LicenseAdminPanelForm extends AdminForm
$this->li(); $this->li();
$this->input( $this->input(
'url', 'url',
// TRANS: Field label in the license admin panel.
_('License URL'), _('License URL'),
// TRANS: Field title in the license admin panel.
_('URL for more information about the license.'), _('URL for more information about the license.'),
'license' 'license'
); );
@ -290,7 +310,9 @@ class LicenseAdminPanelForm extends AdminForm
$this->li(); $this->li();
$this->input( $this->input(
// TRANS: Field label in the license admin panel.
'image', _('License Image URL'), 'image', _('License Image URL'),
// TRANS: Field title in the license admin panel.
_('URL for an image to display with the license.'), _('URL for an image to display with the license.'),
'license' 'license'
); );
@ -308,7 +330,13 @@ class LicenseAdminPanelForm extends AdminForm
function formActions() function formActions()
{ {
$this->out->submit( $this->out->submit(
'submit', _('Save'), 'submit', null, _('Save license settings') 'submit',
// TRANS: Button text in the license admin panel.
_m('BUTTON','Save'),
'submit',
null,
// TRANS: Button title in the license admin panel.
_('Save license settings.')
); );
} }
} }

View File

@ -94,6 +94,7 @@ class LoginAction extends Action
parent::handle($args); parent::handle($args);
if (common_is_real_login()) { if (common_is_real_login()) {
// TRANS: Client error displayed when trying to log in while already logged in.
$this->clientError(_('Already logged in.')); $this->clientError(_('Already logged in.'));
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') { } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$this->checkLogin(); $this->checkLogin();
@ -122,12 +123,14 @@ class LoginAction extends Action
$user = common_check_user($nickname, $password); $user = common_check_user($nickname, $password);
if (!$user) { if (!$user) {
// TRANS: Form validation error displayed when trying to log in with incorrect credentials.
$this->showForm(_('Incorrect username or password.')); $this->showForm(_('Incorrect username or password.'));
return; return;
} }
// success! // success!
if (!common_set_user($user)) { if (!common_set_user($user)) {
// TRANS: Server error displayed when during login a server error occurs.
$this->serverError(_('Error setting user. You are probably not authorized.')); $this->serverError(_('Error setting user. You are probably not authorized.'));
return; return;
} }
@ -182,6 +185,7 @@ class LoginAction extends Action
*/ */
function title() function title()
{ {
// TRANS: Page title for login page.
return _('Login'); return _('Login');
} }
@ -219,25 +223,32 @@ class LoginAction extends Action
'class' => 'form_settings', 'class' => 'form_settings',
'action' => common_local_url('login'))); 'action' => common_local_url('login')));
$this->elementStart('fieldset'); $this->elementStart('fieldset');
// TRANS: Form legend on login page.
$this->element('legend', null, _('Login to site')); $this->element('legend', null, _('Login to site'));
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Field label on login page.
$this->input('nickname', _('Nickname')); $this->input('nickname', _('Nickname'));
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Field label on login page.
$this->password('password', _('Password')); $this->password('password', _('Password'));
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Checkbox label label on login page.
$this->checkbox('rememberme', _('Remember me'), false, $this->checkbox('rememberme', _('Remember me'), false,
// TRANS: Checkbox title on login page.
_('Automatically login in the future; ' . _('Automatically login in the future; ' .
'not for shared computers!')); 'not for shared computers!'));
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->submit('submit', _('Login')); // TRANS: Button text for log in on login page.
$this->submit('submit', _m('BUTTON','Login'));
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
$this->elementEnd('form'); $this->elementEnd('form');
$this->elementStart('p'); $this->elementStart('p');
$this->element('a', array('href' => common_local_url('recoverpassword')), $this->element('a', array('href' => common_local_url('recoverpassword')),
// TRANS: Link text for link to "reset password" on login page.
_('Lost or forgotten password?')); _('Lost or forgotten password?'));
$this->elementEnd('p'); $this->elementEnd('p');
} }
@ -256,13 +267,17 @@ class LoginAction extends Action
common_get_returnto()) { common_get_returnto()) {
// rememberme logins have to reauthenticate before // rememberme logins have to reauthenticate before
// changing any profile settings (cookie-stealing protection) // changing any profile settings (cookie-stealing protection)
// TRANS: Form instructions on login page before being able to change user settings.
return _('For security reasons, please re-enter your ' . return _('For security reasons, please re-enter your ' .
'user name and password ' . 'user name and password ' .
'before changing your settings.'); 'before changing your settings.');
} else { } else {
// TRANS: Form instructions on login page.
$prompt = _('Login with your username and password.'); $prompt = _('Login with your username and password.');
if (!common_config('site', 'closed') && !common_config('site', 'inviteonly')) { if (!common_config('site', 'closed') && !common_config('site', 'inviteonly')) {
$prompt .= ' '; $prompt .= ' ';
// TRANS: Form instructions on login page. This message contains Markdown links in the form [Link text](Link).
// TRANS: %%action.register%% is a link to the registration page.
$prompt .= _('Don\'t have a username yet? ' . $prompt .= _('Don\'t have a username yet? ' .
'[Register](%%action.register%%) a new account.'); '[Register](%%action.register%%) a new account.');
} }

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
*/ */
class LogoutAction extends Action class LogoutAction extends Action
{ {
/** /**
* This is read only. * This is read only.
* *

View File

@ -58,6 +58,7 @@ class MakeadminAction extends RedirectingAction
{ {
parent::prepare($args); parent::prepare($args);
if (!common_logged_in()) { if (!common_logged_in()) {
// TRANS: Client error displayed when trying to access the "make admin" page while not logged in.
$this->clientError(_('Not logged in.')); $this->clientError(_('Not logged in.'));
return false; return false;
} }
@ -68,31 +69,38 @@ class MakeadminAction extends RedirectingAction
} }
$id = $this->trimmed('profileid'); $id = $this->trimmed('profileid');
if (empty($id)) { if (empty($id)) {
// TRANS: Client error displayed when not providing a profile ID on the Make Admin page.
$this->clientError(_('No profile specified.')); $this->clientError(_('No profile specified.'));
return false; return false;
} }
$this->profile = Profile::staticGet('id', $id); $this->profile = Profile::staticGet('id', $id);
if (empty($this->profile)) { if (empty($this->profile)) {
// TRANS: Client error displayed when specifying an invalid profile ID on the Make Admin page.
$this->clientError(_('No profile with that ID.')); $this->clientError(_('No profile with that ID.'));
return false; return false;
} }
$group_id = $this->trimmed('groupid'); $group_id = $this->trimmed('groupid');
if (empty($group_id)) { if (empty($group_id)) {
// TRANS: Client error displayed when not providing a group ID on the Make Admin page.
$this->clientError(_('No group specified.')); $this->clientError(_('No group specified.'));
return false; return false;
} }
$this->group = User_group::staticGet('id', $group_id); $this->group = User_group::staticGet('id', $group_id);
if (empty($this->group)) { if (empty($this->group)) {
// TRANS: Client error displayed when providing an invalid group ID on the Make Admin page.
$this->clientError(_('No such group.')); $this->clientError(_('No such group.'));
return false; return false;
} }
$user = common_current_user(); $user = common_current_user();
if (!$user->isAdmin($this->group) && if (!$user->isAdmin($this->group) &&
!$user->hasRight(Right::MAKEGROUPADMIN)) { !$user->hasRight(Right::MAKEGROUPADMIN)) {
// TRANS: Client error displayed when trying to make another user admin on the Make Admin page while not an admin.
$this->clientError(_('Only an admin can make another user an admin.'), 401); $this->clientError(_('Only an admin can make another user an admin.'), 401);
return false; return false;
} }
if ($this->profile->isAdmin($this->group)) { if ($this->profile->isAdmin($this->group)) {
// TRANS: Client error displayed when trying to make another user admin on the Make Admin page who already is admin.
// TRANS: %1$s is the user that is already admin, %2$s is the group user is already admin for.
$this->clientError(sprintf(_('%1$s is already an admin for group "%2$s".'), $this->clientError(sprintf(_('%1$s is already an admin for group "%2$s".'),
$this->profile->getBestName(), $this->profile->getBestName(),
$this->group->getBestName()), $this->group->getBestName()),
@ -130,6 +138,9 @@ class MakeadminAction extends RedirectingAction
'profile_id' => $this->profile->id)); 'profile_id' => $this->profile->id));
if (empty($member)) { if (empty($member)) {
// TRANS: Server error displayed when trying to make another user admin on the Make Admin page fails
// TRANS: because the group membership record could not be gotten.
// TRANS: %1$s is the to be admin user, %2$s is the group user should be admin for.
$this->serverError(_('Can\'t get membership record for %1$s in group %2$s.'), $this->serverError(_('Can\'t get membership record for %1$s in group %2$s.'),
$this->profile->getBestName(), $this->profile->getBestName(),
$this->group->getBestName()); $this->group->getBestName());
@ -143,6 +154,9 @@ class MakeadminAction extends RedirectingAction
if (!$result) { if (!$result) {
common_log_db_error($member, 'UPDATE', __FILE__); common_log_db_error($member, 'UPDATE', __FILE__);
// TRANS: Server error displayed when trying to make another user admin on the Make Admin page fails
// TRANS: because the group adminship record coud not be saved properly.
// TRANS: %1$s is the to be admin user, %2$s is the group user is already admin for.
$this->serverError(_('Can\'t make %1$s an admin for group %2$s.'), $this->serverError(_('Can\'t make %1$s an admin for group %2$s.'),
$this->profile->getBestName(), $this->profile->getBestName(),
$this->group->getBestName()); $this->group->getBestName());

View File

@ -46,7 +46,7 @@ class MicrosummaryAction extends Action
{ {
/** /**
* Class handler. * Class handler.
* *
* @param array $args array of arguments * @param array $args array of arguments
* *
* @return nothing * @return nothing
@ -59,18 +59,20 @@ class MicrosummaryAction extends Action
$user = User::staticGet('nickname', $nickname); $user = User::staticGet('nickname', $nickname);
if (!$user) { if (!$user) {
// TRANS: Client error displayed trying to make a micro summary without providing a valid user.
$this->clientError(_('No such user.'), 404); $this->clientError(_('No such user.'), 404);
return; return;
} }
$notice = $user->getCurrentNotice(); $notice = $user->getCurrentNotice();
if (!$notice) { if (!$notice) {
// TRANS: Client error displayed trying to make a micro summary without providing a status.
$this->clientError(_('No current status.'), 404); $this->clientError(_('No current status.'), 404);
} }
header('Content-Type: text/plain'); header('Content-Type: text/plain');
print $user->nickname . ': ' . $notice->content; print $user->nickname . ': ' . $notice->content;
} }

View File

@ -68,6 +68,7 @@ class NewmessageAction extends Action
function title() function title()
{ {
// TRANS: Page title for new direct message page.
return _('New message'); return _('New message');
} }
@ -84,6 +85,7 @@ class NewmessageAction extends Action
parent::handle($args); parent::handle($args);
if (!common_logged_in()) { if (!common_logged_in()) {
// TRANS: Client error displayed trying to create a new direct message while not logged in.
$this->clientError(_('Not logged in.'), 403); $this->clientError(_('Not logged in.'), 403);
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') { } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$this->saveNewMessage(); $this->saveNewMessage();
@ -113,12 +115,15 @@ class NewmessageAction extends Action
$this->other = User::staticGet('id', $this->to); $this->other = User::staticGet('id', $this->to);
if (!$this->other) { if (!$this->other) {
// TRANS: Client error displayed trying to send a direct message to a non-existing user.
$this->clientError(_('No such user.'), 404); $this->clientError(_('No such user.'), 404);
return false; return false;
} }
if (!$user->mutuallySubscribed($this->other)) { if (!$user->mutuallySubscribed($this->other)) {
$this->clientError(_('You can\'t send a message to this user.'), 404); // TRANS: Client error displayed trying to send a direct message to a user while sender and
// TRANS: receiver are not subscribed to each other.
$this->clientError(_('You cannot send a message to this user.'), 404);
return false; return false;
} }
} }
@ -141,6 +146,7 @@ class NewmessageAction extends Action
assert($user); // XXX: maybe an error instead... assert($user); // XXX: maybe an error instead...
if (!$this->content) { if (!$this->content) {
// TRANS: Form validator error displayed trying to send a direct message without content.
$this->showForm(_('No content!')); $this->showForm(_('No content!'));
return; return;
} else { } else {
@ -158,12 +164,16 @@ class NewmessageAction extends Action
} }
if (!$this->other) { if (!$this->other) {
// TRANS: Form validation error displayed trying to send a direct message without specifying a recipient.
$this->showForm(_('No recipient specified.')); $this->showForm(_('No recipient specified.'));
return; return;
} else if (!$user->mutuallySubscribed($this->other)) { } else if (!$user->mutuallySubscribed($this->other)) {
$this->clientError(_('You can\'t send a message to this user.'), 404); // TRANS: Client error displayed trying to send a direct message to a user while sender and
// TRANS: receiver are not subscribed to each other.
$this->clientError(_('You cannot send a message to this user.'), 404);
return; return;
} else if ($user->id == $this->other->id) { } else if ($user->id == $this->other->id) {
// TRANS: Client error displayed trying to send a direct message to self.
$this->clientError(_('Don\'t send a message to yourself; ' . $this->clientError(_('Don\'t send a message to yourself; ' .
'just say it to yourself quietly instead.'), 403); 'just say it to yourself quietly instead.'), 403);
return; return;
@ -181,10 +191,13 @@ class NewmessageAction extends Action
if ($this->boolean('ajax')) { if ($this->boolean('ajax')) {
$this->startHTML('text/xml;charset=utf-8'); $this->startHTML('text/xml;charset=utf-8');
$this->elementStart('head'); $this->elementStart('head');
// TRANS: Page title after sending a direct message.
$this->element('title', null, _('Message sent')); $this->element('title', null, _('Message sent'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');
$this->element('p', array('id' => 'command_result'), $this->element('p', array('id' => 'command_result'),
// TRANS: Confirmation text after sending a direct message.
// TRANS: %s is the direct message recipient.
sprintf(_('Direct message to %s sent.'), sprintf(_('Direct message to %s sent.'),
$this->other->nickname)); $this->other->nickname));
$this->elementEnd('body'); $this->elementEnd('body');
@ -210,6 +223,7 @@ class NewmessageAction extends Action
{ {
$this->startHTML('text/xml;charset=utf-8', true); $this->startHTML('text/xml;charset=utf-8', true);
$this->elementStart('head'); $this->elementStart('head');
// TRANS: Page title after an AJAX error occurred on the "send direct message" page.
$this->element('title', null, _('Ajax Error')); $this->element('title', null, _('Ajax Error'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');
@ -231,6 +245,7 @@ class NewmessageAction extends Action
$this->xw->startDocument('1.0', 'UTF-8'); $this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html'); $this->elementStart('html');
$this->elementStart('head'); $this->elementStart('head');
// TRANS: Page title on page for sending a direct message.
$this->element('title', null, _('New message')); $this->element('title', null, _('New message'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');

View File

@ -66,6 +66,7 @@ class NewnoticeAction extends Action
function title() function title()
{ {
// TRANS: Page title for sending a new notice.
return _('New notice'); return _('New notice');
} }
@ -85,6 +86,7 @@ class NewnoticeAction extends Action
function handle($args) function handle($args)
{ {
if (!common_logged_in()) { if (!common_logged_in()) {
// TRANS: Client error displayed trying to send a notice while not logged in.
$this->clientError(_('Not logged in.')); $this->clientError(_('Not logged in.'));
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') { } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// check for this before token since all POST and FILES data // check for this before token since all POST and FILES data
@ -137,6 +139,7 @@ class NewnoticeAction extends Action
Event::handle('StartSaveNewNoticeWeb', array($this, $user, &$content, &$options)); Event::handle('StartSaveNewNoticeWeb', array($this, $user, &$content, &$options));
if (!$content) { if (!$content) {
// TRANS: Client error displayed trying to send a notice without content.
$this->clientError(_('No content!')); $this->clientError(_('No content!'));
return; return;
} }
@ -227,6 +230,7 @@ class NewnoticeAction extends Action
$this->xw->startDocument('1.0', 'UTF-8'); $this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html'); $this->elementStart('html');
$this->elementStart('head'); $this->elementStart('head');
// TRANS: Page title after sending a notice.
$this->element('title', null, _('Notice posted')); $this->element('title', null, _('Notice posted'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');
@ -261,6 +265,7 @@ class NewnoticeAction extends Action
{ {
$this->startHTML('text/xml;charset=utf-8', true); $this->startHTML('text/xml;charset=utf-8', true);
$this->elementStart('head'); $this->elementStart('head');
// TRANS: Page title after an AJAX error occurs on the send notice page.
$this->element('title', null, _('Ajax Error')); $this->element('title', null, _('Ajax Error'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');

View File

@ -60,6 +60,7 @@ class NudgeAction extends Action
parent::handle($args); parent::handle($args);
if (!common_logged_in()) { if (!common_logged_in()) {
// TRANS: Client error displayed trying to nudge a user without being logged in.
$this->clientError(_('Not logged in.')); $this->clientError(_('Not logged in.'));
return; return;
} }
@ -82,6 +83,7 @@ class NudgeAction extends Action
} }
if (!$other->email || !$other->emailnotifynudge) { if (!$other->email || !$other->emailnotifynudge) {
// TRANS: Client error displayed trying to nudge a user that cannot be nudged.
$this->clientError(_('This user doesn\'t allow nudges or hasn\'t confirmed or set their email address yet.')); $this->clientError(_('This user doesn\'t allow nudges or hasn\'t confirmed or set their email address yet.'));
return; return;
} }
@ -91,9 +93,11 @@ class NudgeAction extends Action
if ($this->boolean('ajax')) { if ($this->boolean('ajax')) {
$this->startHTML('text/xml;charset=utf-8'); $this->startHTML('text/xml;charset=utf-8');
$this->elementStart('head'); $this->elementStart('head');
// TRANS: Page title after sending a nudge.
$this->element('title', null, _('Nudge sent')); $this->element('title', null, _('Nudge sent'));
$this->elementEnd('head'); $this->elementEnd('head');
$this->elementStart('body'); $this->elementStart('body');
// TRANS: Confirmation text after sending a nudge.
$this->element('p', array('id' => 'nudge_response'), _('Nudge sent!')); $this->element('p', array('id' => 'nudge_response'), _('Nudge sent!'));
$this->elementEnd('body'); $this->elementEnd('body');
$this->elementEnd('html'); $this->elementEnd('html');
@ -129,4 +133,3 @@ class NudgeAction extends Action
return true; return true;
} }
} }

View File

@ -61,6 +61,8 @@ class OembedAction extends Action
$proxy_args = $r->map($path); $proxy_args = $r->map($path);
if (!$proxy_args) { if (!$proxy_args) {
// TRANS: Server error displayed in oEmbed action when path not found.
// TRANS: %s is a path.
$this->serverError(sprintf(_('"%s" not found.'),$path), 404); $this->serverError(sprintf(_('"%s" not found.'),$path), 404);
} }
$oembed=array(); $oembed=array();
@ -73,13 +75,17 @@ class OembedAction extends Action
$id = $proxy_args['notice']; $id = $proxy_args['notice'];
$notice = Notice::staticGet($id); $notice = Notice::staticGet($id);
if(empty($notice)){ if(empty($notice)){
// TRANS: Server error displayed in oEmbed action when notice not found.
// TRANS: %s is a notice.
$this->serverError(sprintf(_("Notice %s not found."),$id), 404); $this->serverError(sprintf(_("Notice %s not found."),$id), 404);
} }
$profile = $notice->getProfile(); $profile = $notice->getProfile();
if (empty($profile)) { if (empty($profile)) {
// TRANS: Server error displayed in oEmbed action when notice has not profile.
$this->serverError(_('Notice has no profile.'), 500); $this->serverError(_('Notice has no profile.'), 500);
} }
$authorname = $profile->getFancyName(); $authorname = $profile->getFancyName();
// TRANS: oEmbed title. %1$s is the author name, %2$s is the creation date.
$oembed['title'] = sprintf(_('%1$s\'s status on %2$s'), $oembed['title'] = sprintf(_('%1$s\'s status on %2$s'),
$authorname, $authorname,
common_exact_date($notice->created)); common_exact_date($notice->created));
@ -92,6 +98,8 @@ class OembedAction extends Action
$id = $proxy_args['attachment']; $id = $proxy_args['attachment'];
$attachment = File::staticGet($id); $attachment = File::staticGet($id);
if(empty($attachment)){ if(empty($attachment)){
// TRANS: Server error displayed in oEmbed action when attachment not found.
// TRANS: %d is an attachment ID.
$this->serverError(sprintf(_('Attachment %s not found.'),$id), 404); $this->serverError(sprintf(_('Attachment %s not found.'),$id), 404);
} }
if(empty($attachment->filename) && $file_oembed = File_oembed::staticGet('file_id', $attachment->id)){ if(empty($attachment->filename) && $file_oembed = File_oembed::staticGet('file_id', $attachment->id)){
@ -133,6 +141,8 @@ class OembedAction extends Action
if($attachment->title) $oembed['title']=$attachment->title; if($attachment->title) $oembed['title']=$attachment->title;
break; break;
default: default:
// TRANS: Server error displayed in oEmbed request when a path is not supported.
// TRANS: %s is a path.
$this->serverError(sprintf(_('"%s" not supported for oembed requests.'),$path), 501); $this->serverError(sprintf(_('"%s" not supported for oembed requests.'),$path), 501);
} }
switch($args['format']){ switch($args['format']){
@ -190,6 +200,7 @@ class OembedAction extends Action
} }
break; break;
default: default:
// TRANS: Server error displayed in oEmbed action when request specifies an unsupported data format.
$this->serverError(_('Not a supported data format.'), 501); $this->serverError(_('Not a supported data format.'), 501);
break; break;
} }
@ -209,6 +220,7 @@ class OembedAction extends Action
} }
break; break;
default: default:
// TRANS: Server error displayed in oEmbed action when request specifies an unsupported data format.
$this->serverError(_('Not a supported data format.'), 501); $this->serverError(_('Not a supported data format.'), 501);
break; break;
} }

View File

@ -63,8 +63,8 @@ class OpensearchAction extends Action
// TRANS: ShortName in the OpenSearch interface when trying to find users. // TRANS: ShortName in the OpenSearch interface when trying to find users.
$short_name = _('People Search'); $short_name = _('People Search');
} else { } else {
// TRANS: ShortName in the OpenSearch interface when trying to find notices.
$type = 'noticesearch'; $type = 'noticesearch';
// TRANS: ShortName in the OpenSearch interface when trying to find notices.
$short_name = _('Notice Search'); $short_name = _('Notice Search');
} }
header('Content-Type: application/opensearchdescription+xml'); header('Content-Type: application/opensearchdescription+xml');