* i18n/L10n updates.

* translator documentation added.
* superfluous whitespace removed.
This commit is contained in:
Siebrand Mazeland 2010-11-04 19:16:19 +01:00
parent 6aeba0cb7c
commit bb31c25c2d
2 changed files with 37 additions and 37 deletions

View File

@ -48,10 +48,8 @@ require_once INSTALLDIR . '/lib/webcolor.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/ * @link http://status.net/
*/ */
class DesignSettingsAction extends AccountSettingsAction class DesignSettingsAction extends AccountSettingsAction
{ {
var $submitaction = null; var $submitaction = null;
/** /**
@ -59,9 +57,9 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return string Title of the page * @return string Title of the page
*/ */
function title() function title()
{ {
// TRANS: Page title for profile design page.
return _('Profile design'); return _('Profile design');
} }
@ -70,9 +68,9 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return instructions for use * @return instructions for use
*/ */
function getInstructions() function getInstructions()
{ {
// TRANS: Instructions for profile design page.
return _('Customize the way your profile looks ' . return _('Customize the way your profile looks ' .
'with a background image and a colour palette of your choice.'); 'with a background image and a colour palette of your choice.');
} }
@ -84,10 +82,8 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return nothing * @return nothing
*/ */
function showDesignForm($design) function showDesignForm($design)
{ {
$this->elementStart('form', array('method' => 'post', $this->elementStart('form', array('method' => 'post',
'enctype' => 'multipart/form-data', 'enctype' => 'multipart/form-data',
'id' => 'form_settings_design', 'id' => 'form_settings_design',
@ -98,14 +94,18 @@ class DesignSettingsAction extends AccountSettingsAction
$this->elementStart('fieldset', array('id' => $this->elementStart('fieldset', array('id' =>
'settings_design_background-image')); 'settings_design_background-image'));
// TRANS: Fieldset legend on profile design page.
$this->element('legend', null, _('Change background image')); $this->element('legend', null, _('Change background image'));
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
$this->elementStart('li'); $this->elementStart('li');
$this->element('label', array('for' => 'design_background-image_file'), $this->element('label', array('for' => 'design_background-image_file'),
// TRANS: Label in form on profile design page.
// TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
_('Upload file')); _('Upload file'));
$this->element('input', array('name' => 'design_background-image_file', $this->element('input', array('name' => 'design_background-image_file',
'type' => 'file', 'type' => 'file',
'id' => 'design_background-image_file')); 'id' => 'design_background-image_file'));
// TRANS: Instructions for form on profile design page.
$this->element('p', 'form_guide', _('You can upload your personal ' . $this->element('p', 'form_guide', _('You can upload your personal ' .
'background image. The maximum file size is 2MB.')); 'background image. The maximum file size is 2MB.'));
$this->element('input', array('name' => 'MAX_FILE_SIZE', $this->element('input', array('name' => 'MAX_FILE_SIZE',
@ -115,7 +115,6 @@ class DesignSettingsAction extends AccountSettingsAction
$this->elementEnd('li'); $this->elementEnd('li');
if (!empty($design->backgroundimage)) { if (!empty($design->backgroundimage)) {
$this->elementStart('li', array('id' => $this->elementStart('li', array('id' =>
'design_background-image_onoff')); 'design_background-image_onoff'));
@ -136,7 +135,8 @@ class DesignSettingsAction extends AccountSettingsAction
$this->element('label', array('for' => 'design_background-image_on', $this->element('label', array('for' => 'design_background-image_on',
'class' => 'radio'), 'class' => 'radio'),
_('On')); // TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
_m('RADIO','On'));
$attrs = array('name' => 'design_background-image_onoff', $attrs = array('name' => 'design_background-image_onoff',
'type' => 'radio', 'type' => 'radio',
@ -152,12 +152,16 @@ class DesignSettingsAction extends AccountSettingsAction
$this->element('label', array('for' => 'design_background-image_off', $this->element('label', array('for' => 'design_background-image_off',
'class' => 'radio'), 'class' => 'radio'),
_('Off')); // TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
_m('RADIO','Off'));
// TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
// TRANS: use of the uploaded profile image.
$this->element('p', 'form_guide', _('Turn background image on or off.')); $this->element('p', 'form_guide', _('Turn background image on or off.'));
$this->elementEnd('li'); $this->elementEnd('li');
$this->elementStart('li'); $this->elementStart('li');
$this->checkbox('design_background-image_repeat', $this->checkbox('design_background-image_repeat',
// TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
_('Tile background image'), _('Tile background image'),
($design->disposition & BACKGROUND_TILE) ? true : false); ($design->disposition & BACKGROUND_TILE) ? true : false);
$this->elementEnd('li'); $this->elementEnd('li');
@ -167,14 +171,15 @@ class DesignSettingsAction extends AccountSettingsAction
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
$this->elementStart('fieldset', array('id' => 'settings_design_color')); $this->elementStart('fieldset', array('id' => 'settings_design_color'));
// TRANS: Fieldset legend on profile design page to change profile page colours.
$this->element('legend', null, _('Change colours')); $this->element('legend', null, _('Change colours'));
$this->elementStart('ul', 'form_data'); $this->elementStart('ul', 'form_data');
try { try {
$bgcolor = new WebColor($design->backgroundcolor); $bgcolor = new WebColor($design->backgroundcolor);
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Label on profile design page for setting a profile page background colour.
$this->element('label', array('for' => 'swatch-1'), _('Background')); $this->element('label', array('for' => 'swatch-1'), _('Background'));
$this->element('input', array('name' => 'design_background', $this->element('input', array('name' => 'design_background',
'type' => 'text', 'type' => 'text',
@ -188,6 +193,7 @@ class DesignSettingsAction extends AccountSettingsAction
$ccolor = new WebColor($design->contentcolor); $ccolor = new WebColor($design->contentcolor);
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Label on profile design page for setting a profile page content colour.
$this->element('label', array('for' => 'swatch-2'), _('Content')); $this->element('label', array('for' => 'swatch-2'), _('Content'));
$this->element('input', array('name' => 'design_content', $this->element('input', array('name' => 'design_content',
'type' => 'text', 'type' => 'text',
@ -201,6 +207,7 @@ class DesignSettingsAction extends AccountSettingsAction
$sbcolor = new WebColor($design->sidebarcolor); $sbcolor = new WebColor($design->sidebarcolor);
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Label on profile design page for setting a profile page sidebar colour.
$this->element('label', array('for' => 'swatch-3'), _('Sidebar')); $this->element('label', array('for' => 'swatch-3'), _('Sidebar'));
$this->element('input', array('name' => 'design_sidebar', $this->element('input', array('name' => 'design_sidebar',
'type' => 'text', 'type' => 'text',
@ -214,6 +221,7 @@ class DesignSettingsAction extends AccountSettingsAction
$tcolor = new WebColor($design->textcolor); $tcolor = new WebColor($design->textcolor);
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Label on profile design page for setting a profile page text colour.
$this->element('label', array('for' => 'swatch-4'), _('Text')); $this->element('label', array('for' => 'swatch-4'), _('Text'));
$this->element('input', array('name' => 'design_text', $this->element('input', array('name' => 'design_text',
'type' => 'text', 'type' => 'text',
@ -227,6 +235,7 @@ class DesignSettingsAction extends AccountSettingsAction
$lcolor = new WebColor($design->linkcolor); $lcolor = new WebColor($design->linkcolor);
$this->elementStart('li'); $this->elementStart('li');
// TRANS: Label on profile design page for setting a profile page links colour.
$this->element('label', array('for' => 'swatch-5'), _('Links')); $this->element('label', array('for' => 'swatch-5'), _('Links'));
$this->element('input', array('name' => 'design_links', $this->element('input', array('name' => 'design_links',
'type' => 'text', 'type' => 'text',
@ -244,16 +253,22 @@ class DesignSettingsAction extends AccountSettingsAction
$this->elementEnd('ul'); $this->elementEnd('ul');
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
// TRANS: Button text on profile design page to immediately reset all colour settings to default.
$this->submit('defaults', _('Use defaults'), 'submit form_action-default', $this->submit('defaults', _('Use defaults'), 'submit form_action-default',
// TRANS: Title for button on profile design page to reset all colour settings to default.
'defaults', _('Restore default designs')); 'defaults', _('Restore default designs'));
$this->element('input', array('id' => 'settings_design_reset', $this->element('input', array('id' => 'settings_design_reset',
'type' => 'reset', 'type' => 'reset',
'value' => 'Reset', // TRANS: Button text on profile design page to reset all colour settings to default without saving.
'value' => _m('BUTTON','Reset'),
'class' => 'submit form_action-primary', 'class' => 'submit form_action-primary',
// TRANS: Title for button on profile design page to reset all colour settings to default without saving.
'title' => _('Reset back to default'))); 'title' => _('Reset back to default')));
$this->submit('save', _('Save'), 'submit form_action-secondary', // TRANS: Button text on profile design page to save settings.
$this->submit('save', _m('BUTTON','Save'), 'submit form_action-secondary',
// TRANS: Title for button on profile design page to save settings.
'save', _('Save design')); 'save', _('Save design'));
$this->elementEnd('fieldset'); $this->elementEnd('fieldset');
@ -268,7 +283,6 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return void * @return void
*/ */
function handlePost() function handlePost()
{ {
if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@ -280,8 +294,10 @@ class DesignSettingsAction extends AccountSettingsAction
&& empty($_POST) && empty($_POST)
&& ($_SERVER['CONTENT_LENGTH'] > 0) && ($_SERVER['CONTENT_LENGTH'] > 0)
) { ) {
$msg = _('The server was unable to handle that much POST ' . // TRANS: Form validation error in design settings form. POST should remain untranslated.
'data (%s bytes) due to its current configuration.'); $msg = _m('The server was unable to handle that much POST data (%s byte) due to its current configuration.',
'The server was unable to handle that much POST data (%s bytes) due to its current configuration.',
intval($_SERVER['CONTENT_LENGTH']));
$this->showForm(sprintf($msg, $_SERVER['CONTENT_LENGTH'])); $this->showForm(sprintf($msg, $_SERVER['CONTENT_LENGTH']));
return; return;
@ -301,6 +317,7 @@ class DesignSettingsAction extends AccountSettingsAction
} else if ($this->arg('defaults')) { } else if ($this->arg('defaults')) {
$this->restoreDefaults(); $this->restoreDefaults();
} else { } else {
// TRANS: Unknown form validation error in design settings form.
$this->showForm(_('Unexpected form submission.')); $this->showForm(_('Unexpected form submission.'));
} }
} }
@ -310,7 +327,6 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return void * @return void
*/ */
function showStylesheets() function showStylesheets()
{ {
parent::showStylesheets(); parent::showStylesheets();
@ -322,7 +338,6 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return void * @return void
*/ */
function showScripts() function showScripts()
{ {
parent::showScripts(); parent::showScripts();
@ -340,10 +355,8 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return nothing * @return nothing
*/ */
function saveBackgroundImage($design) function saveBackgroundImage($design)
{ {
// Now that we have a Design ID we can add a file to the design. // Now that we have a Design ID we can add a file to the design.
// XXX: This is an additional DB hit, but figured having the image // XXX: This is an additional DB hit, but figured having the image
// associated with the Design rather than the User was worth // associated with the Design rather than the User was worth
@ -388,6 +401,7 @@ class DesignSettingsAction extends AccountSettingsAction
if ($result === false) { if ($result === false) {
common_log_db_error($design, 'UPDATE', __FILE__); common_log_db_error($design, 'UPDATE', __FILE__);
// TRANS: Error message displayed if design settings could not be saved.
$this->showForm(_('Couldn\'t update your design.')); $this->showForm(_('Couldn\'t update your design.'));
return; return;
} }
@ -399,7 +413,6 @@ class DesignSettingsAction extends AccountSettingsAction
* *
* @return nothing * @return nothing
*/ */
function restoreDefaults() function restoreDefaults()
{ {
$design = $this->getWorkingDesign(); $design = $this->getWorkingDesign();
@ -410,12 +423,13 @@ class DesignSettingsAction extends AccountSettingsAction
if ($result === false) { if ($result === false) {
common_log_db_error($design, 'DELETE', __FILE__); common_log_db_error($design, 'DELETE', __FILE__);
// TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
$this->showForm(_('Couldn\'t update your design.')); $this->showForm(_('Couldn\'t update your design.'));
return; return;
} }
} }
// TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
$this->showForm(_('Design defaults restored.'), true); $this->showForm(_('Design defaults restored.'), true);
} }
} }

View File

@ -51,7 +51,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/ * @link http://status.net/
*/ */
class Theme class Theme
{ {
var $name = null; var $name = null;
@ -65,14 +64,14 @@ class Theme
* *
* @param string $name Name of the theme; defaults to config value * @param string $name Name of the theme; defaults to config value
*/ */
function __construct($name=null) function __construct($name=null)
{ {
if (empty($name)) { if (empty($name)) {
$name = common_config('site', 'theme'); $name = common_config('site', 'theme');
} }
if (!self::validName($name)) { if (!self::validName($name)) {
throw new ServerException("Invalid theme name."); // TRANS: Server exception displayed if a theme name was invalid.
throw new ServerException(_('Invalid theme name.'));
} }
$this->name = $name; $this->name = $name;
@ -95,7 +94,6 @@ class Theme
$fulldir = $instroot.'/'.$name; $fulldir = $instroot.'/'.$name;
if (file_exists($fulldir) && is_dir($fulldir)) { if (file_exists($fulldir) && is_dir($fulldir)) {
$this->dir = $fulldir; $this->dir = $fulldir;
$this->path = $this->relativeThemePath('theme', 'theme', $name); $this->path = $this->relativeThemePath('theme', 'theme', $name);
} }
@ -113,11 +111,9 @@ class Theme
* *
* @todo consolidate code with that for other customizable paths * @todo consolidate code with that for other customizable paths
*/ */
protected function relativeThemePath($group, $fallbackSubdir, $name) protected function relativeThemePath($group, $fallbackSubdir, $name)
{ {
if (StatusNet::isHTTPS()) { if (StatusNet::isHTTPS()) {
$sslserver = common_config($group, 'sslserver'); $sslserver = common_config($group, 'sslserver');
if (empty($sslserver)) { if (empty($sslserver)) {
@ -140,9 +136,7 @@ class Theme
} }
$protocol = 'https'; $protocol = 'https';
} else { } else {
$path = common_config($group, 'path'); $path = common_config($group, 'path');
if (empty($path)) { if (empty($path)) {
@ -179,7 +173,6 @@ class Theme
* *
* @return string full pathname, like /var/www/mublog/theme/default/logo.png * @return string full pathname, like /var/www/mublog/theme/default/logo.png
*/ */
function getFile($relative) function getFile($relative)
{ {
return $this->dir.'/'.$relative; return $this->dir.'/'.$relative;
@ -192,7 +185,6 @@ class Theme
* *
* @return string full URL, like 'http://example.com/theme/default/logo.png' * @return string full URL, like 'http://example.com/theme/default/logo.png'
*/ */
function getPath($relative) function getPath($relative)
{ {
return $this->path.'/'.$relative; return $this->path.'/'.$relative;
@ -258,7 +250,6 @@ class Theme
* *
* @return string File path to the theme file * @return string File path to the theme file
*/ */
static function file($relative, $name=null) static function file($relative, $name=null)
{ {
$theme = new Theme($name); $theme = new Theme($name);
@ -273,7 +264,6 @@ class Theme
* *
* @return string URL of the file * @return string URL of the file
*/ */
static function path($relative, $name=null) static function path($relative, $name=null)
{ {
$theme = new Theme($name); $theme = new Theme($name);
@ -285,7 +275,6 @@ class Theme
* *
* @return array list of available theme names * @return array list of available theme names
*/ */
static function listAvailable() static function listAvailable()
{ {
$local = self::subdirsOf(self::localRoot()); $local = self::subdirsOf(self::localRoot());
@ -305,7 +294,6 @@ class Theme
* *
* @return array relative filenames of subdirs, or empty array * @return array relative filenames of subdirs, or empty array
*/ */
protected static function subdirsOf($dir) protected static function subdirsOf($dir)
{ {
$subdirs = array(); $subdirs = array();
@ -330,7 +318,6 @@ class Theme
* *
* @return string local root dir for themes * @return string local root dir for themes
*/ */
protected static function localRoot() protected static function localRoot()
{ {
$basedir = common_config('local', 'dir'); $basedir = common_config('local', 'dir');
@ -347,7 +334,6 @@ class Theme
* *
* @return string root dir for StatusNet themes * @return string root dir for StatusNet themes
*/ */
protected static function installRoot() protected static function installRoot()
{ {
$instroot = common_config('theme', 'dir'); $instroot = common_config('theme', 'dir');