Commit 553a0c8b authored by Siebrand Mazeland's avatar Siebrand Mazeland

i18n/L10n updates/fixes.

Translator documentation added/updated.
Whitespace updates.
parent 5b660bd3
......@@ -124,6 +124,7 @@ class BlankAdPlugin extends UAPPlugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:BlankAdPlugin',
'rawdescription' =>
// TRANS: Plugin description.
_m('Plugin for testing ad layout.'));
return true;
}
......
......@@ -82,13 +82,19 @@ class BlogspamNetPlugin extends Plugin
} else {
common_debug("Blogspamnet results = " . $response);
if (preg_match('/^ERROR(:(.*))?$/', $response, $match)) {
throw new ServerException(sprintf(_m("Error from %1$s: %2$s"), $this->baseUrl, $match[2]), 500);
// TRANS: Server exception thrown when blogspam.net returns error status.
// TRANS: %1$s is the base URL, %2$s is the error (unknown contents; no period).
throw new ServerException(sprintf(_m('Error from %1$s: %2$s'), $this->baseUrl, $match[2]), 500);
} else if (preg_match('/^SPAM(:(.*))?$/', $response, $match)) {
throw new ClientException(sprintf(_m("Spam checker results: %s"), $match[2]), 400);
// TRANS: Server exception thrown when blogspam.net returns spam status.
// TRANS: Does not end with period because of unknown contents for %s (spam match).
throw new ClientException(sprintf(_m('Spam checker results: %s'), $match[2]), 400);
} else if (preg_match('/^OK$/', $response)) {
// don't do anything
} else {
throw new ServerException(sprintf(_m("Unexpected response from %1$s: %2$s"), $this->baseUrl, $response), 500);
// TRANS: Server exception thrown when blogspam.net returns an unexpected status.
// TRANS: %1$s is the base URL, %2$s is the response (unknown contents; no period).
throw new ServerException(sprintf(_m('Unexpected response from %1$s: %2$s'), $this->baseUrl, $response), 500);
}
}
return true;
......@@ -149,6 +155,7 @@ class BlogspamNetPlugin extends Plugin
'author' => 'Evan Prodromou, Brion Vibber',
'homepage' => 'http://status.net/wiki/Plugin:BlogspamNet',
'rawdescription' =>
// TRANS: Plugin description.
_m('Plugin to check submitted notices with blogspam.net.'));
return true;
}
......
......@@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
*
* @see DB_DataObject
*/
class Bookmark extends Memcached_DataObject
{
public $__table = 'bookmark'; // table name
......@@ -65,7 +64,6 @@ class Bookmark extends Memcached_DataObject
* @return User_greeting_count object found, or null for no hits
*
*/
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Bookmark', $k, $v);
......@@ -83,7 +81,6 @@ class Bookmark extends Memcached_DataObject
* @return Bookmark object found, or null for no hits
*
*/
function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Bookmark', $kv);
......@@ -97,7 +94,6 @@ class Bookmark extends Memcached_DataObject
*
* @return array array of column definitions
*/
function table()
{
return array('id' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
......@@ -106,7 +102,7 @@ class Bookmark extends Memcached_DataObject
'title' => DB_DATAOBJECT_STR,
'description' => DB_DATAOBJECT_STR,
'uri' => DB_DATAOBJECT_STR,
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE +
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE +
DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
}
......@@ -115,7 +111,6 @@ class Bookmark extends Memcached_DataObject
*
* @return array list of key field names
*/
function keys()
{
return array_keys($this->keyTypes());
......@@ -126,7 +121,6 @@ class Bookmark extends Memcached_DataObject
*
* @return array associative array of key definitions
*/
function keyTypes()
{
return array('id' => 'K',
......@@ -138,7 +132,6 @@ class Bookmark extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
function sequenceKey()
{
return array(false, false, false);
......@@ -146,12 +139,11 @@ class Bookmark extends Memcached_DataObject
/**
* Get a bookmark based on a notice
*
*
* @param Notice $notice Notice to check for
*
* @return Bookmark found bookmark or null
*/
function getByNotice($notice)
{
return self::staticGet('uri', $notice->uri);
......@@ -165,11 +157,10 @@ class Bookmark extends Memcached_DataObject
*
* @return Bookmark bookmark found or null
*/
static function getByURL($profile, $url)
{
$nb = new Bookmark();
$nb->profile_id = $profile->id;
$nb->url = $url;
......@@ -192,13 +183,13 @@ class Bookmark extends Memcached_DataObject
*
* @return Notice saved notice
*/
static function saveNew($profile, $title, $url, $rawtags, $description,
$options=null)
{
$nb = self::getByURL($profile, $url);
if (!empty($nb)) {
// TRANS: Client exception thrown when trying to save a new bookmark that already exists.
throw new ClientException(_m('Bookmark already exists.'));
}
......@@ -209,6 +200,7 @@ class Bookmark extends Memcached_DataObject
if (array_key_exists('uri', $options)) {
$other = Bookmark::staticGet('uri', $options['uri']);
if (!empty($other)) {
// TRANS: Client exception thrown when trying to save a new bookmark that already exists.
throw new ClientException(_m('Bookmark already exists.'));
}
}
......@@ -281,15 +273,15 @@ class Bookmark extends Memcached_DataObject
try {
$user = User::staticGet('id', $profile->id);
$shortUrl = File_redirection::makeShort($url,
$shortUrl = File_redirection::makeShort($url,
empty($user) ? null : $user);
} catch (Exception $e) {
// Don't let this stop us.
$shortUrl = $url;
}
// @todo FIXME: i18n documentation.
// TRANS: %1$s is a title, %2$s is a short URL, %3$s is a description,
// TRANS: Bookmark content.
// TRANS: %1$s is a title, %2$s is a short URL, %3$s is the bookmark description,
// TRANS: %4$s is space separated list of hash tags.
$content = sprintf(_m('"%1$s" %2$s %3$s %4$s'),
$title,
......@@ -297,6 +289,9 @@ class Bookmark extends Memcached_DataObject
$description,
implode(' ', $hashtags));
// TRANS: Rendered bookmark content.
// TRANS: %1$s is a URL, %2$s the bookmark title, %3$s is the bookmark description,
// TRANS: %4$s is space separated list of hash tags.
$rendered = sprintf(_m('<span class="xfolkentry">'.
'<a class="taggedlink" href="%1$s">%2$s</a> '.
'<span class="description">%3$s</span> '.
......
......@@ -43,7 +43,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class BookmarkPlugin extends MicroAppPlugin
{
const VERSION = '0.1';
......@@ -60,7 +59,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value
*/
function onUserRightsCheck($profile, $right, &$result)
{
if ($right == self::IMPORTDELICIOUS) {
......@@ -78,7 +76,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
function onCheckSchema()
{
$schema = Schema::get();
......@@ -127,7 +124,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value
*/
function onEndShowStyles($action)
{
$action->cssLink($this->path('bookmark.css'));
......@@ -141,7 +137,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
function onAutoload($cls)
{
$dir = dirname(__FILE__);
......@@ -175,7 +170,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
function onRouterInitialized($m)
{
$m->connect('main/bookmark/new',
......@@ -204,10 +198,9 @@ class BookmarkPlugin extends MicroAppPlugin
* Add our two queue handlers to the queue manager
*
* @param QueueManager $qm current queue manager
*
*
* @return boolean hook value
*/
function onEndInitializeQueueManager($qm)
{
$qm->connect('dlcsback', 'DeliciousBackupImporter');
......@@ -219,10 +212,9 @@ class BookmarkPlugin extends MicroAppPlugin
* Plugin version data
*
* @param array &$versions array of version data
*
*
* @return value
*/
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'Sample',
......@@ -230,6 +222,7 @@ class BookmarkPlugin extends MicroAppPlugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Bookmark',
'rawdescription' =>
// TRANS: Plugin description.
_m('Simple extension for supporting bookmarks.'));
return true;
}
......@@ -242,7 +235,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value
*/
function onStartLoadDoc(&$title, &$output)
{
if ($title == 'bookmarklet') {
......@@ -256,8 +248,6 @@ class BookmarkPlugin extends MicroAppPlugin
return true;
}
/**
* Show a link to our delicious import page on profile settings form
*
......@@ -265,15 +255,15 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return boolean hook value
*/
function onEndProfileSettingsActions($action)
{
$user = common_current_user();
if (!empty($user) && $user->hasRight(self::IMPORTDELICIOUS)) {
$action->elementStart('li');
$action->element('a',
array('href' => common_local_url('importdelicious')),
// TRANS: Link text in proile leading to import form.
_m('Import del.icio.us bookmarks'));
$action->elementEnd('li');
}
......@@ -314,7 +304,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return Notice resulting notice.
*/
static private function _postRemoteBookmark(Ostatus_profile $author,
Activity $activity)
{
......@@ -324,7 +313,7 @@ class BookmarkPlugin extends MicroAppPlugin
'url' => $bookmark->link,
'is_local' => Notice::REMOTE_OMB,
'source' => 'ostatus');
return self::_postBookmark($author->localProfile(), $activity, $options);
}
......@@ -335,7 +324,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return true if it's a Post of a Bookmark, else false
*/
static private function _isPostBookmark($activity)
{
return ($activity->verb == ActivityVerb::POST &&
......@@ -351,10 +339,9 @@ class BookmarkPlugin extends MicroAppPlugin
* When a notice is deleted, delete the related Bookmark
*
* @param Notice $notice Notice being deleted
*
*
* @return boolean hook value
*/
function deleteRelated($notice)
{
$nb = Bookmark::getByNotice($notice);
......@@ -375,7 +362,6 @@ class BookmarkPlugin extends MicroAppPlugin
*
* @return Notice resulting notice
*/
function saveNoticeFromActivity($activity, $profile, $options=array())
{
$bookmark = $activity->objects[0];
......@@ -383,6 +369,7 @@ class BookmarkPlugin extends MicroAppPlugin
$relLinkEls = ActivityUtils::getLinks($bookmark->element, 'related');
if (count($relLinkEls) < 1) {
// TRANS: Client exception thrown when a bookmark is formatted incorrectly.
throw new ClientException(_m('Expected exactly 1 link '.
'rel=related in a Bookmark.'));
}
......@@ -476,6 +463,7 @@ class BookmarkPlugin extends MicroAppPlugin
$attachments = $notice->attachments();
if (count($attachments) != 1) {
// TRANS: Server exception thrown when a bookmark has multiple attachments.
throw new ServerException(_m('Bookmark notice with the '.
'wrong number of attachments.'));
}
......@@ -490,7 +478,7 @@ class BookmarkPlugin extends MicroAppPlugin
}
$object->extra[] = array('link', $attrs, null);
// Attributes of the thumbnail, if any
$thumbnail = $target->getThumbnail();
......@@ -530,7 +518,8 @@ class BookmarkPlugin extends MicroAppPlugin
if (count($atts) < 1) {
// Something wrong; let default code deal with it.
throw new Exception("That can't be right.");
// TRANS: Exception thrown when a bookmark has no attachments.
throw new Exception(_m('Bookmark has no attachments.'));
}
$att = $atts[0];
......@@ -562,7 +551,7 @@ class BookmarkPlugin extends MicroAppPlugin
if (!empty($replies) || !empty($tags)) {
$out->elementStart('ul', array('class' => 'bookmark-tags'));
foreach ($replies as $reply) {
$other = Profile::staticGet('id', $reply);
$out->elementStart('li');
......@@ -576,7 +565,7 @@ class BookmarkPlugin extends MicroAppPlugin
foreach ($tags as $tag) {
$out->elementStart('li');
$out->element('a',
$out->element('a',
array('rel' => 'tag',
'href' => Notice_tag::url($tag)),
$tag);
......@@ -612,7 +601,7 @@ class BookmarkPlugin extends MicroAppPlugin
$avatar = $profile->getAvatar(AVATAR_MINI_SIZE);
$out->element('img',
$out->element('img',
array('src' => ($avatar) ?
$avatar->displayUrl() :
Avatar::defaultImage(AVATAR_MINI_SIZE),
......@@ -624,7 +613,7 @@ class BookmarkPlugin extends MicroAppPlugin
$out->raw('&#160;'); // avoid &nbsp; for AJAX XML compatibility
$out->elementStart('span', 'vcard author'); // hack for belongsOnTimeline; JS needs to be able to find the author
$out->element('a',
$out->element('a',
array('class' => 'url',
'href' => $profile->profileurl,
'title' => $profile->getBestName()),
......@@ -644,6 +633,7 @@ class BookmarkPlugin extends MicroAppPlugin
function appTitle()
{
return _m('Bookmark');
// TRANS: Application title.
return _m('TITLE','Bookmark');
}
}
......@@ -4,7 +4,7 @@
* Copyright (C) 2010, StatusNet, Inc.
*
* Form for adding a new bookmark
*
*
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
......@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class BookmarkForm extends Form
{
private $_title = null;
......@@ -63,7 +62,6 @@ class BookmarkForm extends Form
*
* @return void
*/
function __construct($out=null, $title=null, $url=null, $tags=null,
$description=null)
{
......@@ -80,7 +78,6 @@ class BookmarkForm extends Form
*
* @return int ID of the form
*/
function id()
{
return 'form_new_bookmark';
......@@ -91,7 +88,6 @@ class BookmarkForm extends Form
*
* @return string class of the form
*/
function formClass()
{
return 'form_settings ajax-notice';
......@@ -102,7 +98,6 @@ class BookmarkForm extends Form
*
* @return string URL of the action
*/
function action()
{
return common_local_url('newbookmark');
......@@ -113,7 +108,6 @@ class BookmarkForm extends Form
*
* @return void
*/
function formData()
{
$this->out->elementStart('fieldset', array('id' => 'new_bookmark_data'));
......@@ -121,30 +115,38 @@ class BookmarkForm extends Form
$this->li();
$this->out->input('title',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','Title'),
$this->_title,
_m('Title of the bookmark'));
// TRANS: Field title on form for adding a new bookmark.
_m('Title of the bookmark.'));
$this->unli();
$this->li();
$this->out->input('url',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','URL'),
$this->_url,
_m('URL to bookmark'));
$this->_url,
// TRANS: Field title on form for adding a new bookmark.
_m('URL to bookmark.'));
$this->unli();
$this->li();
$this->out->input('tags',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','Tags'),
$this->_tags,
_m('Comma- or space-separated list of tags'));
$this->_tags,
// TRANS: Field title on form for adding a new bookmark.
_m('Comma- or space-separated list of tags.'));
$this->unli();
$this->li();
$this->out->input('description',
// TRANS: Field label on form for adding a new bookmark.
_m('LABEL','Description'),
$this->_description,
_m('Description of the URL'));
$this->_description,
// TRANS: Field title on form for adding a new bookmark.
_m('Description of the URL.'));
$this->unli();
$this->out->elementEnd('ul');
......@@ -165,6 +167,7 @@ class BookmarkForm extends Form
function formActions()
{
// TRANS: Button text for action to save a new bookmark.
$this->out->submit('submit', _m('BUTTON', 'Save'));
}
}
......@@ -49,13 +49,12 @@ class BookmarkpopupAction extends NewbookmarkAction
*
* @return void
*/
function showTitle()
{
// TRANS: Title for mini-posting window loaded from bookmarklet.
// TRANS: %s is the StatusNet site name.
$this->element('title',
null, sprintf(_m('Bookmark on %s'),
$this->element('title',
// TRANS: Title for mini-posting window loaded from bookmarklet.
// TRANS: %s is the StatusNet site name.
null, sprintf(_m('Bookmark on %s'),
common_config('site', 'name')));
}
......@@ -66,7 +65,6 @@ class BookmarkpopupAction extends NewbookmarkAction
*
* @return void
*/
function showHeader()
{
$this->elementStart('div', array('id' => 'header'));
......@@ -86,10 +84,9 @@ class BookmarkpopupAction extends NewbookmarkAction
/**
* Hide the core section of the page
*
*
* @return void
*/
function showCore()
{
}
......@@ -99,7 +96,6 @@ class BookmarkpopupAction extends NewbookmarkAction
*
* @return void
*/
function showFooter()
{
}
......
......@@ -4,7 +4,7 @@
* Copyright (C) 2010, StatusNet, Inc.
*
* Importer class for Delicious.com backups
*
*
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
......@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class DeliciousBackupImporter extends QueueHandler
{
/**
......@@ -52,7 +51,6 @@ class DeliciousBackupImporter extends QueueHandler
*
* @return string transport string
*/
function transport()
{
return 'dlcsback';
......@@ -72,7 +70,6 @@ class DeliciousBackupImporter extends QueueHandler
*
* @return boolean success value
*/
function handle($data)
{
list($user, $body) = $data;
......@@ -82,7 +79,8 @@ class DeliciousBackupImporter extends QueueHandler
$dls = $doc->getElementsByTagName('dl');
if ($dls->length != 1) {
throw new ClientException(_m("Bad import file."));
// TRANS: Client exception thrown when a file upload is incorrect.
throw new ClientException(_m('Bad import file.'));
}
$dl = $dls->item(0);
......@@ -123,7 +121,7 @@ class DeliciousBackupImporter extends QueueHandler
common_log(LOG_INFO, 'Skipping the <p> in the <dl>.');
break;
default:
common_log(LOG_WARNING,
common_log(LOG_WARNING,
"Unexpected element $child->tagName ".
" found in import.");
}
......@@ -146,12 +144,12 @@ class DeliciousBackupImporter extends QueueHandler
/**
* Import a single bookmark
*
*
* Takes a <dt>/<dd> pair. The <dt> has a single
* <a> in it with some non-standard attributes.
*
*
* A <dt><dt><dd> sequence will appear as a <dt> with
* anothe <dt> as a child. We handle this case recursively.
* anothe <dt> as a child. We handle this case recursively.
*
* @param User $user User to import data as
* @param DOMElement $dt <dt> element
......@@ -159,12 +157,12 @@ class DeliciousBackupImporter extends QueueHandler
*
* @return Notice imported notice
*/
function importBookmark($user, $dt, $dd = null)
{
$as = $dt->getElementsByTagName('a');
if ($as->length == 0) {
// TRANS: Client exception thrown when a bookmark in an import file is incorrectly formatted.
throw new ClientException(_m("No <A> tag in a <DT>."));
}
......@@ -173,6 +171,7 @@ class DeliciousBackupImporter extends QueueHandler
$private = $a->getAttribute('private');
if ($private != 0) {
// TRANS: Client exception thrown when a bookmark in an import file is private.
throw new ClientException(_m('Skipping private bookmark.'));
}
......@@ -306,5 +305,4 @@ class DeliciousBackupImporter extends QueueHandler
$this->fixListItem($node);
}
}
}
......@@ -4,7 +4,7 @@
* Copyright (C) 2010, StatusNet, Inc.
*
* Importer class for Delicious.com bookmarks
*
*
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
......@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class DeliciousBookmarkImporter extends QueueHandler
{
/**
......@@ -52,7 +51,6 @@ class DeliciousBookmarkImporter extends QueueHandler
*
* @return string 'dlcsbkmk'
*/
function transport()
{
return 'dlcsbkmk';
......@@ -60,12 +58,11 @@ class DeliciousBookmarkImporter extends QueueHandler
/**
* Handle the data
*
*
* @param array $data associative array of user & bookmark info from DeliciousBackupImporter::importBookmark()
*
* @return boolean success value
*/
function handle($data)
{
$profile = Profile::staticGet('id', $data['profile_id']);
......
......@@ -4,7 +4,7 @@
* Copyright (C) 2010 StatusNet, Inc.
*
* Import a bookmarks file as notices
*
*
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
......@@ -46,7 +46,7 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
/**
* Get the bookmarks file as a string
*
*
* Uses the -f or --file parameter to open and read a
* a bookmarks file
*
......@@ -63,19 +63,25 @@ function getBookmarksFile()
}
if (!file_exists($filename)) {
throw new Exception("No such file '$filename'.");
// TRANS: Exception thrown when a file upload cannot be found.
// TRANS: %s is the file that could not be found.
throw new Exception(sprintf(_m('No such file "%s".'),$filename));
}
if (!is_file($filename)) {
throw new Exception("Not a regular file: '$filename'.");
// TRANS: Exception thrown when a file upload is incorrect.
// TRANS: %s is the irregular file.
throw new Exception(sprintf(_m('Not a regular file: "%s".'),$filename));
}
if (!is_readable($filename)) {
throw new Exception("File '$filename' not readable.");
// TRANS: Exception thrown when a file upload is not readable.
// TRANS: %s is the file that could not be read.
throw new Exception(sprintf(_m('File "%s" not readable.'),$filename));
}
// TRANS: %s is the filename that contains a backup for a user.
printfv(_m("Getting backup from file \"%s\".")."\n", $filename);
printfv(_m('Getting backup from file "%s".')."\n", $filename);
$html = file_get_contents($filename);
......@@ -87,7 +93,7 @@ try {
$html = getBookmarksFile();
$qm = QueueManager::get();
$qm->enqueue(array($user, $html), 'dlcsback');
} catch (Exception $e) {
......
......@@ -4,7 +4,7 @@
* Copyright (C) 2010, StatusNet, Inc.
*
* Import del.icio.us bookmarks backups
*
*
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
......@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class ImportdeliciousAction extends Action
{
protected $success = false;
......@@ -55,9 +54,9 @@ class ImportdeliciousAction extends Action
*