Add translator documentation.

Fixed a few inconsistencies in the process. Apparently this code has been copied to imsettings.php, and some cases of 'email' had not been changed to 'IM'. Added FIXME for using globals/macros (?) in messages like "%%site.name%%". For easier/more consistent translation, this should preferably be plain %s parameters.
This commit is contained in:
Siebrand Mazeland 2010-04-11 22:37:03 +02:00
parent ec0fee0f2a
commit 76d3fdacae
2 changed files with 112 additions and 22 deletions

View File

@ -57,6 +57,7 @@ class EmailsettingsAction extends AccountSettingsAction
function title() function title()
{ {
// TRANS: Title for e-mail settings.
return _('Email settings'); return _('Email settings');
} }
@ -68,6 +69,10 @@ class EmailsettingsAction extends AccountSettingsAction
function getInstructions() function getInstructions()
{ {
// XXX: For consistency of parameters in messages, this should be a
// regular parameters, replaced with sprintf().
// TRANS: E-mail settings page instructions.
// TRANS: %%site.name%% is the name of the site.
return _('Manage how you get email from %%site.name%%.'); return _('Manage how you get email from %%site.name%%.');
} }
@ -97,102 +102,126 @@ class EmailsettingsAction extends AccountSettingsAction
common_local_url('emailsettings'))); common_local_url('emailsettings')));
$this->elementStart('fieldset'); $this->elementStart('fieldset');
$this->elementStart('fieldset', array('id' => 'settings_email_address')); $this->elementStart('fieldset', array('id' => 'settings_email_address'));
$this->element('legend', null, _('Address')); // TRANS: Form legend for e-mail settings form.
$this->element('legend', null, _('Email address'));
$this->hidden('token', common_session_token()); $this->hidden('token', common_session_token());
if ($user->email) { if ($user->email) {
$this->element('p', array('id' => 'form_confirmed'), $user->email); $this->element('p', array('id' => 'form_confirmed'), $user->email);
// TRANS: Form note in e-mail settings form.
$this->element('p', array('class' => 'form_note'), _('Current confirmed email address.')); $this->element('p', array('class' => 'form_note'), _('Current confirmed email address.'));
$this->hidden('email', $user->email); $this->hidden('email', $user->email);
$this->submit('remove', _('Remove')); // TRANS: Button label to remove a confirmed e-mail address.
$this->submit('remove', _m('BUTTON','Remove'));
} else { } else {
$confirm = $this->getConfirmation(); $confirm = $this->getConfirmation();
if ($confirm) { if ($confirm) {
$this->element('p', array('id' => 'form_unconfirmed'), $confirm->address); $this->element('p', array('id' => 'form_unconfirmed'), $confirm->address);
// TRANS: Form note in e-mail settings form.
$this->element('p', array('class' => 'form_note'), $this->element('p', array('class' => 'form_note'),
_('Awaiting confirmation on this address. '. _('Awaiting confirmation on this address. '.
'Check your inbox (and spam box!) for a message '. 'Check your inbox (and spam box!) for a message '.
'with further instructions.')); 'with further instructions.'));
$this->hidden('email', $confirm->address); $this->hidden('email', $confirm->address);
$this->submit('cancel', _('Cancel')); // TRANS: Button label to cancel an e-mail address confirmation procedure.
$this->submit('cancel', _m('BUTTON','Cancel'));
} else { } else {
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Field label for e-mail address input in e-mail settings form.
$this->input('email', _('Email address'), $this->input('email', _('Email address'),
($this->arg('email')) ? $this->arg('email') : null, ($this->arg('email')) ? $this->arg('email') : null,
// TRANS: Instructions for e-mail address input form.
_('Email address, like "UserName@example.org"')); _('Email address, like "UserName@example.org"'));
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->submit('add', _('Add')); // TRANS: Button label for adding an e-mail address in e-mail settings form.
$this->submit('add', _m('BUTTON','Add'));
} }
} }
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
if (common_config('emailpost', 'enabled') && $user->email) { if (common_config('emailpost', 'enabled') && $user->email) {
$this->elementStart('fieldset', array('id' => 'settings_email_incoming')); $this->elementStart('fieldset', array('id' => 'settings_email_incoming'));
// TRANS: Form legend for incoming e-mail settings form.
$this->element('legend', null, _('Incoming email')); $this->element('legend', null, _('Incoming email'));
if ($user->incomingemail) { if ($user->incomingemail) {
$this->elementStart('p'); $this->elementStart('p');
$this->element('span', 'address', $user->incomingemail); $this->element('span', 'address', $user->incomingemail);
// XXX: Looks a little awkward in the UI.
// Something like "xxxx@identi.ca Send email ..". Needs improvement.
$this->element('span', 'input_instructions', $this->element('span', 'input_instructions',
// TRANS: Form instructions for incoming e-mail form in e-mail settings.
_('Send email to this address to post new notices.')); _('Send email to this address to post new notices.'));
$this->elementEnd('p'); $this->elementEnd('p');
$this->submit('removeincoming', _('Remove')); // TRANS: Button label for removing a set sender e-mail address to post notices from.
$this->submit('removeincoming', _m('BUTTON','Remove'));
} }
$this->elementStart('p'); $this->elementStart('p');
$this->element('span', 'input_instructions', $this->element('span', 'input_instructions',
// TRANS: Instructions for incoming e-mail address input form.
_('Make a new email address for posting to; '. _('Make a new email address for posting to; '.
'cancels the old one.')); 'cancels the old one.'));
$this->elementEnd('p'); $this->elementEnd('p');
$this->submit('newincoming', _('New')); // TRANS: Button label for adding an e-mail address to send notices from.
$this->submit('newincoming', _m('BUTTON','New'));
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
} }
$this->elementStart('fieldset', array('id' => 'settings_email_preferences')); $this->elementStart('fieldset', array('id' => 'settings_email_preferences'));
$this->element('legend', null, _('Preferences')); // TRANS: Form legend for e-mail preferences form.
$this->element('legend', null, _('Email preferences'));
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailnotifysub', $this->checkbox('emailnotifysub',
// TRANS: Checkbox label in e-mail preferences form.
_('Send me notices of new subscriptions through email.'), _('Send me notices of new subscriptions through email.'),
$user->emailnotifysub); $user->emailnotifysub);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailnotifyfav', $this->checkbox('emailnotifyfav',
// TRANS: Checkbox label in e-mail preferences form.
_('Send me email when someone '. _('Send me email when someone '.
'adds my notice as a favorite.'), 'adds my notice as a favorite.'),
$user->emailnotifyfav); $user->emailnotifyfav);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailnotifymsg', $this->checkbox('emailnotifymsg',
// TRANS: Checkbox label in e-mail preferences form.
_('Send me email when someone sends me a private message.'), _('Send me email when someone sends me a private message.'),
$user->emailnotifymsg); $user->emailnotifymsg);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailnotifyattn', $this->checkbox('emailnotifyattn',
// TRANS: Checkbox label in e-mail preferences form.
_('Send me email when someone sends me an "@-reply".'), _('Send me email when someone sends me an "@-reply".'),
$user->emailnotifyattn); $user->emailnotifyattn);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailnotifynudge', $this->checkbox('emailnotifynudge',
// TRANS: Checkbox label in e-mail preferences form.
_('Allow friends to nudge me and send me an email.'), _('Allow friends to nudge me and send me an email.'),
$user->emailnotifynudge); $user->emailnotifynudge);
$this->elementEnd('li'); $this->elementEnd('li');
if (common_config('emailpost', 'enabled')) { if (common_config('emailpost', 'enabled')) {
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailpost', $this->checkbox('emailpost',
// TRANS: Checkbox label in e-mail preferences form.
_('I want to post notices by email.'), _('I want to post notices by email.'),
$user->emailpost); $user->emailpost);
$this->elementEnd('li'); $this->elementEnd('li');
} }
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('emailmicroid', $this->checkbox('emailmicroid',
// TRANS: Checkbox label in e-mail preferences form.
_('Publish a MicroID for my email address.'), _('Publish a MicroID for my email address.'),
$user->emailmicroid); $user->emailmicroid);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->submit('save', _('Save')); // TRANS: Button label to save e-mail preferences.
$this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
$this->elementEnd('form'); $this->elementEnd('form');
@ -253,6 +282,7 @@ class EmailsettingsAction extends AccountSettingsAction
} else if ($this->arg('newincoming')) { } else if ($this->arg('newincoming')) {
$this->newIncoming(); $this->newIncoming();
} else { } else {
// TRANS: Message given submitting a form with an unknown action in e-mail settings.
$this->showForm(_('Unexpected form submission.')); $this->showForm(_('Unexpected form submission.'));
} }
} }
@ -293,13 +323,15 @@ class EmailsettingsAction extends AccountSettingsAction
if ($result === false) { if ($result === false) {
common_log_db_error($user, 'UPDATE', __FILE__); common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error updating e-mail preferences.
$this->serverError(_('Couldn\'t update user.')); $this->serverError(_('Couldn\'t update user.'));
return; return;
} }
$user->query('COMMIT'); $user->query('COMMIT');
$this->showForm(_('Preferences saved.'), true); // TRANS: Confirmation message for successful e-mail preferences save.
$this->showForm(_('Email preferences saved.'), true);
} }
/** /**
@ -317,6 +349,7 @@ class EmailsettingsAction extends AccountSettingsAction
// Some validation // Some validation
if (!$email) { if (!$email) {
// TRANS: Message given saving e-mail address without having provided one.
$this->showForm(_('No email address.')); $this->showForm(_('No email address.'));
return; return;
} }
@ -324,16 +357,20 @@ class EmailsettingsAction extends AccountSettingsAction
$email = common_canonical_email($email); $email = common_canonical_email($email);
if (!$email) { if (!$email) {
// TRANS: Message given saving e-mail address that cannot be normalised.
$this->showForm(_('Cannot normalize that email address')); $this->showForm(_('Cannot normalize that email address'));
return; return;
} }
if (!Validate::email($email, common_config('email', 'check_domain'))) { if (!Validate::email($email, common_config('email', 'check_domain'))) {
// TRANS: Message given saving e-mail address that not valid.
$this->showForm(_('Not a valid email address.')); $this->showForm(_('Not a valid email address.'));
return; return;
} else if ($user->email == $email) { } else if ($user->email == $email) {
// TRANS: Message given saving e-mail address that is already set.
$this->showForm(_('That is already your email address.')); $this->showForm(_('That is already your email address.'));
return; return;
} else if ($this->emailExists($email)) { } else if ($this->emailExists($email)) {
// TRANS: Message given saving e-mail address that is already set for another user.
$this->showForm(_('That email address already belongs '. $this->showForm(_('That email address already belongs '.
'to another user.')); 'to another user.'));
return; return;
@ -350,12 +387,14 @@ class EmailsettingsAction extends AccountSettingsAction
if ($result === false) { if ($result === false) {
common_log_db_error($confirm, 'INSERT', __FILE__); common_log_db_error($confirm, 'INSERT', __FILE__);
// TRANS: Server error thrown on database error adding e-mail confirmation code.
$this->serverError(_('Couldn\'t insert confirmation code.')); $this->serverError(_('Couldn\'t insert confirmation code.'));
return; return;
} }
mail_confirm_address($user, $confirm->code, $user->nickname, $email); mail_confirm_address($user, $confirm->code, $user->nickname, $email);
// TRANS: Message given saving valid e-mail address that is to be confirmed.
$msg = _('A confirmation code was sent to the email address you added. '. $msg = _('A confirmation code was sent to the email address you added. '.
'Check your inbox (and spam box!) for the code and instructions '. 'Check your inbox (and spam box!) for the code and instructions '.
'on how to use it.'); 'on how to use it.');
@ -376,11 +415,13 @@ class EmailsettingsAction extends AccountSettingsAction
$confirm = $this->getConfirmation(); $confirm = $this->getConfirmation();
if (!$confirm) { if (!$confirm) {
// TRANS: Message given canceling e-mail address confirmation that is not pending.
$this->showForm(_('No pending confirmation to cancel.')); $this->showForm(_('No pending confirmation to cancel.'));
return; return;
} }
if ($confirm->address != $email) { if ($confirm->address != $email) {
$this->showForm(_('That is the wrong IM address.')); // TRANS: Message given canceling e-mail address confirmation for the wrong e-mail address.
$this->showForm(_('That is the wrong email address.'));
return; return;
} }
@ -388,11 +429,13 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$result) { if (!$result) {
common_log_db_error($confirm, 'DELETE', __FILE__); common_log_db_error($confirm, 'DELETE', __FILE__);
// TRANS: Server error thrown on database error canceling e-mail address confirmation.
$this->serverError(_('Couldn\'t delete email confirmation.')); $this->serverError(_('Couldn\'t delete email confirmation.'));
return; return;
} }
$this->showForm(_('Confirmation cancelled.'), true); // TRANS: Message given after successfully canceling e-mail address confirmation.
$this->showForm(_('Email confirmation cancelled.'), true);
} }
/** /**
@ -410,6 +453,8 @@ class EmailsettingsAction extends AccountSettingsAction
// Maybe an old tab open...? // Maybe an old tab open...?
if ($user->email != $email) { if ($user->email != $email) {
// TRANS: Message given trying to remove an e-mail address that is not
// TRANS: registered for the active user.
$this->showForm(_('That is not your email address.')); $this->showForm(_('That is not your email address.'));
return; return;
} }
@ -424,12 +469,14 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$result) { if (!$result) {
common_log_db_error($user, 'UPDATE', __FILE__); common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error removing a registered e-mail address.
$this->serverError(_('Couldn\'t update user.')); $this->serverError(_('Couldn\'t update user.'));
return; return;
} }
$user->query('COMMIT'); $user->query('COMMIT');
$this->showForm(_('The address was removed.'), true); // TRANS: Message given after successfully removing a registered e-mail address.
$this->showForm(_('The email address was removed.'), true);
} }
/** /**
@ -453,9 +500,11 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$user->updateKeys($orig)) { if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__); common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error removing incoming e-mail address.
$this->serverError(_("Couldn't update user record.")); $this->serverError(_("Couldn't update user record."));
} }
// TRANS: Message given after successfully removing an incoming e-mail address.
$this->showForm(_('Incoming email address removed.'), true); $this->showForm(_('Incoming email address removed.'), true);
} }
@ -475,9 +524,11 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$user->updateKeys($orig)) { if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__); common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error adding incoming e-mail address.
$this->serverError(_("Couldn't update user record.")); $this->serverError(_("Couldn't update user record."));
} }
// TRANS: Message given after successfully adding an incoming e-mail address.
$this->showForm(_('New incoming email address added.'), true); $this->showForm(_('New incoming email address added.'), true);
} }

View File

@ -56,6 +56,7 @@ class ImsettingsAction extends ConnectSettingsAction
function title() function title()
{ {
// TRANS: Title for instance messaging settings.
return _('IM settings'); return _('IM settings');
} }
@ -67,6 +68,9 @@ class ImsettingsAction extends ConnectSettingsAction
function getInstructions() function getInstructions()
{ {
// TRANS: Instant messaging settings page instructions.
// TRANS: [instant messages] is link text, "(%%doc.im%%)" is the link.
// TRANS: the order and formatting of link text and link should remain unchanged.
return _('You can send and receive notices through '. return _('You can send and receive notices through '.
'Jabber/GTalk [instant messages](%%doc.im%%). '. 'Jabber/GTalk [instant messages](%%doc.im%%). '.
'Configure your address and settings below.'); 'Configure your address and settings below.');
@ -86,6 +90,7 @@ class ImsettingsAction extends ConnectSettingsAction
{ {
if (!common_config('xmpp', 'enabled')) { if (!common_config('xmpp', 'enabled')) {
$this->element('div', array('class' => 'error'), $this->element('div', array('class' => 'error'),
// TRANS: Message given in the IM settings if XMPP is not enabled on the site.
_('IM is not available.')); _('IM is not available.'));
return; return;
} }
@ -97,32 +102,41 @@ class ImsettingsAction extends ConnectSettingsAction
'action' => 'action' =>
common_local_url('imsettings'))); common_local_url('imsettings')));
$this->elementStart('fieldset', array('id' => 'settings_im_address')); $this->elementStart('fieldset', array('id' => 'settings_im_address'));
$this->element('legend', null, _('Address')); // TRANS: Form legend for IM settings form.
$this->element('legend', null, _('IM address'));
$this->hidden('token', common_session_token()); $this->hidden('token', common_session_token());
if ($user->jabber) { if ($user->jabber) {
$this->element('p', 'form_confirmed', $user->jabber); $this->element('p', 'form_confirmed', $user->jabber);
// TRANS: Form note in IM settings form.
$this->element('p', 'form_note', $this->element('p', 'form_note',
_('Current confirmed Jabber/GTalk address.')); _('Current confirmed Jabber/GTalk address.'));
$this->hidden('jabber', $user->jabber); $this->hidden('jabber', $user->jabber);
$this->submit('remove', _('Remove')); // TRANS: Button label to remove a confirmed IM address.
$this->submit('remove', _m('BUTTON','Remove'));
} else { } else {
$confirm = $this->getConfirmation(); $confirm = $this->getConfirmation();
if ($confirm) { if ($confirm) {
$this->element('p', 'form_unconfirmed', $confirm->address); $this->element('p', 'form_unconfirmed', $confirm->address);
$this->element('p', 'form_note', $this->element('p', 'form_note',
// TRANS: Form note in IM settings form.
// TRANS: %s is the IM address set for the site.
sprintf(_('Awaiting confirmation on this address. '. sprintf(_('Awaiting confirmation on this address. '.
'Check your Jabber/GTalk account for a '. 'Check your Jabber/GTalk account for a '.
'message with further instructions. '. 'message with further instructions. '.
'(Did you add %s to your buddy list?)'), '(Did you add %s to your buddy list?)'),
jabber_daemon_address())); jabber_daemon_address()));
$this->hidden('jabber', $confirm->address); $this->hidden('jabber', $confirm->address);
$this->submit('cancel', _('Cancel')); // TRANS: Button label to cancel a IM address confirmation procedure.
$this->submit('cancel', _m('BUTTON','Cancel'));
} else { } else {
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Field label for IM address input in IM settings form.
$this->input('jabber', _('IM address'), $this->input('jabber', _('IM address'),
($this->arg('jabber')) ? $this->arg('jabber') : null, ($this->arg('jabber')) ? $this->arg('jabber') : null,
// TRANS: Form note in IM settings form.
// TRANS: %s is the IM address set for the site.
sprintf(_('Jabber or GTalk address, '. sprintf(_('Jabber or GTalk address, '.
'like "UserName@example.org". '. 'like "UserName@example.org". '.
'First, make sure to add %s to your '. 'First, make sure to add %s to your '.
@ -130,37 +144,44 @@ class ImsettingsAction extends ConnectSettingsAction
jabber_daemon_address())); jabber_daemon_address()));
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->submit('add', _('Add')); // TRANS: Button label for adding an IM address in IM settings form.
$this->submit('add', _m('BUTTON','Add'));
} }
} }
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
$this->elementStart('fieldset', array('id' => 'settings_im_preferences')); $this->elementStart('fieldset', array('id' => 'settings_im_preferences'));
$this->element('legend', null, _('Preferences')); // TRANS: Form legend for IM preferences form.
$this->element('legend', null, _('IM preferences'));
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('jabbernotify', $this->checkbox('jabbernotify',
// TRANS: Checkbox label in IM preferences form.
_('Send me notices through Jabber/GTalk.'), _('Send me notices through Jabber/GTalk.'),
$user->jabbernotify); $user->jabbernotify);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('updatefrompresence', $this->checkbox('updatefrompresence',
// TRANS: Checkbox label in IM preferences form.
_('Post a notice when my Jabber/GTalk status changes.'), _('Post a notice when my Jabber/GTalk status changes.'),
$user->updatefrompresence); $user->updatefrompresence);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('jabberreplies', $this->checkbox('jabberreplies',
// TRANS: Checkbox label in IM preferences form.
_('Send me replies through Jabber/GTalk '. _('Send me replies through Jabber/GTalk '.
'from people I\'m not subscribed to.'), 'from people I\'m not subscribed to.'),
$user->jabberreplies); $user->jabberreplies);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('jabbermicroid', $this->checkbox('jabbermicroid',
// TRANS: Checkbox label in IM preferences form.
_('Publish a MicroID for my Jabber/GTalk address.'), _('Publish a MicroID for my Jabber/GTalk address.'),
$user->jabbermicroid); $user->jabbermicroid);
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->submit('save', _('Save')); // TRANS: Button label to save IM preferences.
$this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
$this->elementEnd('form'); $this->elementEnd('form');
} }
@ -217,6 +238,7 @@ class ImsettingsAction extends ConnectSettingsAction
} else if ($this->arg('remove')) { } else if ($this->arg('remove')) {
$this->removeAddress(); $this->removeAddress();
} else { } else {
// TRANS: Message given submitting a form with an unknown action in IM settings.
$this->showForm(_('Unexpected form submission.')); $this->showForm(_('Unexpected form submission.'));
} }
} }
@ -232,7 +254,6 @@ class ImsettingsAction extends ConnectSettingsAction
function savePreferences() function savePreferences()
{ {
$jabbernotify = $this->boolean('jabbernotify'); $jabbernotify = $this->boolean('jabbernotify');
$updatefrompresence = $this->boolean('updatefrompresence'); $updatefrompresence = $this->boolean('updatefrompresence');
$jabberreplies = $this->boolean('jabberreplies'); $jabberreplies = $this->boolean('jabberreplies');
@ -255,12 +276,14 @@ class ImsettingsAction extends ConnectSettingsAction
if ($result === false) { if ($result === false) {
common_log_db_error($user, 'UPDATE', __FILE__); common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error updating IM preferences.
$this->serverError(_('Couldn\'t update user.')); $this->serverError(_('Couldn\'t update user.'));
return; return;
} }
$user->query('COMMIT'); $user->query('COMMIT');
// TRANS: Confirmation message for successful IM preferences save.
$this->showForm(_('Preferences saved.'), true); $this->showForm(_('Preferences saved.'), true);
} }
@ -282,6 +305,7 @@ class ImsettingsAction extends ConnectSettingsAction
// Some validation // Some validation
if (!$jabber) { if (!$jabber) {
// TRANS: Message given saving IM address without having provided one.
$this->showForm(_('No Jabber ID.')); $this->showForm(_('No Jabber ID.'));
return; return;
} }
@ -289,16 +313,20 @@ class ImsettingsAction extends ConnectSettingsAction
$jabber = jabber_normalize_jid($jabber); $jabber = jabber_normalize_jid($jabber);
if (!$jabber) { if (!$jabber) {
// TRANS: Message given saving IM address that cannot be normalised.
$this->showForm(_('Cannot normalize that Jabber ID')); $this->showForm(_('Cannot normalize that Jabber ID'));
return; return;
} }
if (!jabber_valid_base_jid($jabber, common_config('email', 'domain_check'))) { if (!jabber_valid_base_jid($jabber, common_config('email', 'domain_check'))) {
// TRANS: Message given saving IM address that not valid.
$this->showForm(_('Not a valid Jabber ID')); $this->showForm(_('Not a valid Jabber ID'));
return; return;
} else if ($user->jabber == $jabber) { } else if ($user->jabber == $jabber) {
// TRANS: Message given saving IM address that is already set.
$this->showForm(_('That is already your Jabber ID.')); $this->showForm(_('That is already your Jabber ID.'));
return; return;
} else if ($this->jabberExists($jabber)) { } else if ($this->jabberExists($jabber)) {
// TRANS: Message given saving IM address that is already set for another user.
$this->showForm(_('Jabber ID already belongs to another user.')); $this->showForm(_('Jabber ID already belongs to another user.'));
return; return;
} }
@ -316,6 +344,7 @@ class ImsettingsAction extends ConnectSettingsAction
if ($result === false) { if ($result === false) {
common_log_db_error($confirm, 'INSERT', __FILE__); common_log_db_error($confirm, 'INSERT', __FILE__);
// TRANS: Server error thrown on database error adding IM confirmation code.
$this->serverError(_('Couldn\'t insert confirmation code.')); $this->serverError(_('Couldn\'t insert confirmation code.'));
return; return;
} }
@ -324,6 +353,8 @@ class ImsettingsAction extends ConnectSettingsAction
$user->nickname, $user->nickname,
$jabber); $jabber);
// TRANS: Message given saving valid IM address that is to be confirmed.
// TRANS: %s is the IM address set for the site.
$msg = sprintf(_('A confirmation code was sent '. $msg = sprintf(_('A confirmation code was sent '.
'to the IM address you added. '. 'to the IM address you added. '.
'You must approve %s for '. 'You must approve %s for '.
@ -348,10 +379,12 @@ class ImsettingsAction extends ConnectSettingsAction
$confirm = $this->getConfirmation(); $confirm = $this->getConfirmation();
if (!$confirm) { if (!$confirm) {
// TRANS: Message given canceling IM address confirmation that is not pending.
$this->showForm(_('No pending confirmation to cancel.')); $this->showForm(_('No pending confirmation to cancel.'));
return; return;
} }
if ($confirm->address != $jabber) { if ($confirm->address != $jabber) {
// TRANS: Message given canceling IM address confirmation for the wrong IM address.
$this->showForm(_('That is the wrong IM address.')); $this->showForm(_('That is the wrong IM address.'));
return; return;
} }
@ -360,11 +393,13 @@ class ImsettingsAction extends ConnectSettingsAction
if (!$result) { if (!$result) {
common_log_db_error($confirm, 'DELETE', __FILE__); common_log_db_error($confirm, 'DELETE', __FILE__);
$this->serverError(_('Couldn\'t delete email confirmation.')); // TRANS: Server error thrown on database error canceling IM address confirmation.
$this->serverError(_('Couldn\'t delete IM confirmation.'));
return; return;
} }
$this->showForm(_('Confirmation cancelled.'), true); // TRANS: Message given after successfully canceling IM address confirmation.
$this->showForm(_('IM confirmation cancelled.'), true);
} }
/** /**
@ -384,6 +419,8 @@ class ImsettingsAction extends ConnectSettingsAction
// Maybe an old tab open...? // Maybe an old tab open...?
if ($user->jabber != $jabber) { if ($user->jabber != $jabber) {
// TRANS: Message given trying to remove an IM address that is not
// TRANS: registered for the active user.
$this->showForm(_('That is not your Jabber ID.')); $this->showForm(_('That is not your Jabber ID.'));
return; return;
} }
@ -398,6 +435,7 @@ class ImsettingsAction extends ConnectSettingsAction
if (!$result) { if (!$result) {
common_log_db_error($user, 'UPDATE', __FILE__); common_log_db_error($user, 'UPDATE', __FILE__);
// TRANS: Server error thrown on database error removing a registered IM address.
$this->serverError(_('Couldn\'t update user.')); $this->serverError(_('Couldn\'t update user.'));
return; return;
} }
@ -405,7 +443,8 @@ class ImsettingsAction extends ConnectSettingsAction
// XXX: unsubscribe to the old address // XXX: unsubscribe to the old address
$this->showForm(_('The address was removed.'), true); // TRANS: Message given after successfully removing a registered IM address.
$this->showForm(_('The IM address was removed.'), true);
} }
/** /**