* change i18n for confirmation string to make a bit more certain that the confirmation string is consistent in all messages where it is used.

* add translator documentation.
* remove superfluous whitespace.
This commit is contained in:
Siebrand Mazeland 2011-01-14 20:48:17 +01:00
parent 224a7986af
commit 6e1dfab1b9
1 changed files with 40 additions and 34 deletions

View File

@ -4,7 +4,7 @@
* Copyright (C) 2010, StatusNet, Inc. * Copyright (C) 2010, StatusNet, Inc.
* *
* Delete your own account * Delete your own account
* *
* PHP version 5 * PHP version 5
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -36,7 +36,7 @@ if (!defined('STATUSNET')) {
/** /**
* Action to delete your own account * Action to delete your own account
* *
* Note that this is distinct from DeleteuserAction, which see. I thought * Note that this is distinct from DeleteuserAction, which see. I thought
* that making that action do both things (delete another user and delete the * that making that action do both things (delete another user and delete the
* current user) would open a lot of holes. I'm open to refactoring, however. * current user) would open a lot of holes. I'm open to refactoring, however.
@ -48,7 +48,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/ * @link http://status.net/
*/ */
class DeleteaccountAction extends Action class DeleteaccountAction extends Action
{ {
private $_complete = false; private $_complete = false;
@ -61,19 +60,20 @@ class DeleteaccountAction extends Action
* *
* @return boolean true * @return boolean true
*/ */
function prepare($argarray) function prepare($argarray)
{ {
parent::prepare($argarray); parent::prepare($argarray);
$cur = common_current_user(); $cur = common_current_user();
if (empty($cur)) { if (empty($cur)) {
// TRANS: Client exception displayed trying to delete a user account while not logged in.
throw new ClientException(_("Only logged-in users ". throw new ClientException(_("Only logged-in users ".
"can delete their account."), 403); "can delete their account."), 403);
} }
if (!$cur->hasRight(Right::DELETEACCOUNT)) { if (!$cur->hasRight(Right::DELETEACCOUNT)) {
// TRANS: Client exception displayed trying to delete a user account without have the rights to do that.
throw new ClientException(_("You cannot delete your account."), 403); throw new ClientException(_("You cannot delete your account."), 403);
} }
@ -87,7 +87,6 @@ class DeleteaccountAction extends Action
* *
* @return void * @return void
*/ */
function handle($argarray=null) function handle($argarray=null)
{ {
parent::handle($argarray); parent::handle($argarray);
@ -109,7 +108,6 @@ class DeleteaccountAction extends Action
* *
* @return boolean is read only action? * @return boolean is read only action?
*/ */
function isReadOnly($args) function isReadOnly($args)
{ {
return false; return false;
@ -122,7 +120,6 @@ class DeleteaccountAction extends Action
* *
* @return string last modified http header * @return string last modified http header
*/ */
function lastModified() function lastModified()
{ {
// For comparison with If-Last-Modified // For comparison with If-Last-Modified
@ -137,7 +134,6 @@ class DeleteaccountAction extends Action
* *
* @return string etag http header * @return string etag http header
*/ */
function etag() function etag()
{ {
return null; return null;
@ -145,7 +141,7 @@ class DeleteaccountAction extends Action
/** /**
* Delete the current user's account * Delete the current user's account
* *
* Checks for the "I am sure." string to make sure the user really * Checks for the "I am sure." string to make sure the user really
* wants to delete their account. * wants to delete their account.
* *
@ -156,13 +152,16 @@ class DeleteaccountAction extends Action
* *
* @return void * @return void
*/ */
function deleteAccount() function deleteAccount()
{ {
$this->checkSessionToken(); $this->checkSessionToken();
// !!! If this string is changed, it also needs to be changed in DeleteAccountForm::formData()
if ($this->trimmed('iamsure') != _('I am sure.')) { // TRANS: Confirmation text for user deletion. The user has to type this exactly the same, including punctuation.
$this->_error = _('You must write "I am sure." exactly in the box.'); $iamsure = _('I am sure.');
if ($this->trimmed('iamsure') != $iamsure ) {
// TRANS: Notification for user about the text that must be input to be able to delete a user account.
// TRANS: %s is the text that needs to be input.
$this->_error = sprintf(_('You must write "%s" exactly in the box.', $iamsure));
$this->showPage(); $this->showPage();
return; return;
} }
@ -191,7 +190,7 @@ class DeleteaccountAction extends Action
/** /**
* Shows the page content. * Shows the page content.
* *
* If the deletion is complete, just shows a completion message. * If the deletion is complete, just shows a completion message.
* *
* Otherwise, shows the deletion form. * Otherwise, shows the deletion form.
@ -199,11 +198,11 @@ class DeleteaccountAction extends Action
* @return void * @return void
* *
*/ */
function showContent() function showContent()
{ {
if ($this->_complete) { if ($this->_complete) {
$this->element('p', 'confirmation', $this->element('p', 'confirmation',
// TRANS: Confirmation that a user account has been deleted.
_('Account deleted.')); _('Account deleted.'));
return; return;
} }
@ -216,7 +215,7 @@ class DeleteaccountAction extends Action
$form = new DeleteAccountForm($this); $form = new DeleteAccountForm($this);
$form->show(); $form->show();
} }
/** /**
* Show the title of the page * Show the title of the page
* *
@ -225,13 +224,14 @@ class DeleteaccountAction extends Action
function title() function title()
{ {
// TRANS: Page title for page on which a user account can be deleted.
return _('Delete account'); return _('Delete account');
} }
} }
/** /**
* Form for deleting your account * Form for deleting your account
* *
* Note that this mostly is here to keep you from accidentally deleting your * Note that this mostly is here to keep you from accidentally deleting your
* account. * account.
* *
@ -242,7 +242,6 @@ class DeleteaccountAction extends Action
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/ * @link http://status.net/
*/ */
class DeleteAccountForm extends Form class DeleteAccountForm extends Form
{ {
/** /**
@ -250,7 +249,6 @@ class DeleteAccountForm extends Form
* *
* @return string the form's class * @return string the form's class
*/ */
function formClass() function formClass()
{ {
return 'form_profile_delete'; return 'form_profile_delete';
@ -261,7 +259,6 @@ class DeleteAccountForm extends Form
* *
* @return string the form's action URL * @return string the form's action URL
*/ */
function action() function action()
{ {
return common_local_url('deleteaccount'); return common_local_url('deleteaccount');
@ -269,51 +266,60 @@ class DeleteAccountForm extends Form
/** /**
* Output form data * Output form data
* *
* Instructions plus an 'i am sure' entry box. * Instructions plus an 'i am sure' entry box.
* *
* @return void * @return void
*/ */
function formData() function formData()
{ {
$cur = common_current_user(); $cur = common_current_user();
$msg = _('<p>This will <strong>permanently delete</strong> '. // TRANS: Form text for user deletion form.
'your account data from this server. </p>'); $msg = '<p>' . _('This will <strong>permanently delete</strong> '.
'your account data from this server.') . '</p>';
if ($cur->hasRight(Right::BACKUPACCOUNT)) { if ($cur->hasRight(Right::BACKUPACCOUNT)) {
$msg .= sprintf(_('<p>You are strongly advised to '. // TRANS: Additional form text for user deletion form shown if a user has account backup rights.
// TRANS: %s is a URL to the backup page.
$msg .= '<p>' . sprintf(_('You are strongly advised to '.
'<a href="%s">back up your data</a>'. '<a href="%s">back up your data</a>'.
' before deletion.</p>'), ' before deletion.'),
common_local_url('backupaccount')); common_local_url('backupaccount')) . '</p>';
} }
$this->out->elementStart('p'); $this->out->elementStart('p');
$this->out->raw($msg); $this->out->raw($msg);
$this->out->elementEnd('p'); $this->out->elementEnd('p');
// !!! If this string is changed, it also needs to be changed in class DeleteaccountAction.
// TRANS: Confirmation text for user deletion. The user has to type this exactly the same, including punctuation.
$iamsure = _("I am sure.");
$this->out->input('iamsure', $this->out->input('iamsure',
// TRANS: Field label for delete account confirmation entry.
_('Confirm'), _('Confirm'),
null, null,
_('Enter "I am sure." to confirm that '. // TRANS: Input title for the delete account field.
'you want to delete your account.')); // TRANS: %s is the text that needs to be input.
sprintf(_('Enter "%s" to confirm that '.
'you want to delete your account.'),$iamsure ));
} }
/** /**
* Buttons for the form * Buttons for the form
* *
* In this case, a single submit button * In this case, a single submit button
* *
* @return void * @return void
*/ */
function formActions() function formActions()
{ {
$this->out->submit('submit', $this->out->submit('submit',
// TRANS: Button text for user account deletion.
_m('BUTTON', 'Delete'), _m('BUTTON', 'Delete'),
'submit', 'submit',
null, null,
_('Permanently your account')); // TRANS: Button title for user account deletion.
_('Permanently delete your account'));
} }
} }