diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index 54eff20540..f51b607309 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -164,7 +164,7 @@ class MapstractionPlugin extends Plugin
' var user = null; '.
(($actionName == 'showstream') ? ' user = scrapeUser(); ' : '') .
' var notices = scrapeNotices(user); ' .
- ' var canvas = $("#map_canvas")[0]; ' .
+ ' var canvas = $("#map_canvas")[0]; ' .
' if (typeof(canvas) != "undefined") { showMapstraction(canvas, notices); } '.
'});');
}
@@ -184,6 +184,7 @@ class MapstractionPlugin extends Plugin
$action->elementStart('div', array('id' => 'entity_map',
'class' => 'section'));
+ // TRANS: Header for Map widget that displays a map with geodata for notices.
$action->element('h2', null, _m('Map'));
$action->element('div', array('id' => 'map_canvas',
@@ -196,7 +197,7 @@ class MapstractionPlugin extends Plugin
$action->element('a', array('href' => $mapUrl),
// TRANS: Clickable item to allow opening the map in full size.
- _m("Full size"));
+ _m('Full size'));
$action->elementEnd('div');
}
@@ -208,6 +209,7 @@ class MapstractionPlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Mapstraction',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Show maps of users\' and friends\' notices '.
'with Mapstraction.'));
return true;
diff --git a/plugins/Mapstraction/usermap.php b/plugins/Mapstraction/usermap.php
index 54412146ee..99a43e538a 100644
--- a/plugins/Mapstraction/usermap.php
+++ b/plugins/Mapstraction/usermap.php
@@ -61,11 +61,14 @@ class UsermapAction extends MapAction
$base = $this->profile->getFancyName();
if ($this->page == 1) {
- // @todo CHECKME: inconsisten with paged variant below. " map" missing.
- return $base;
+ // TRANS: Title for map widget.
+ // TRANS: %s is a user name.
+ return sprintf(_m('%s map'),$base);
} else {
// @todo CHECKME: Is the part ", page %2$d" relevant here?
- return sprintf(_m("%s map, page %d"),
+ // TRANS: Title for map widget.
+ // TRANS: %1$s is a user name, %2$d is a page nember.
+ return sprintf(_m("%1$s map, page %2$d"),
$base,
$this->page);
}
diff --git a/plugins/Memcache/MemcachePlugin.php b/plugins/Memcache/MemcachePlugin.php
index f0c473c313..8462dfc2c6 100644
--- a/plugins/Memcache/MemcachePlugin.php
+++ b/plugins/Memcache/MemcachePlugin.php
@@ -243,6 +243,7 @@ class MemcachePlugin extends Plugin
'author' => 'Evan Prodromou, Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:Memcache',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Use Memcached to cache query results.'));
return true;
}
diff --git a/plugins/Memcached/MemcachedPlugin.php b/plugins/Memcached/MemcachedPlugin.php
index 3b3383d496..56793d0ff6 100644
--- a/plugins/Memcached/MemcachedPlugin.php
+++ b/plugins/Memcached/MemcachedPlugin.php
@@ -52,7 +52,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MemcachedPlugin extends Plugin
{
static $cacheInitialized = false;
@@ -215,6 +214,7 @@ class MemcachedPlugin extends Plugin
'author' => 'Evan Prodromou, Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:Memcached',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Use Memcached to cache query results.'));
return true;
}
diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php
index 6e93e364f7..ec44eef17b 100644
--- a/plugins/Meteor/MeteorPlugin.php
+++ b/plugins/Meteor/MeteorPlugin.php
@@ -112,7 +112,7 @@ class MeteorPlugin extends RealtimePlugin
$this->_socket = stream_socket_client("tcp://{$controlserver}:{$this->controlport}", $errno, $errstr, $timeout, $flags);
if (!$this->_socket) {
// TRANS: Exception. %1$s is the control server, %2$s is the control port.
- throw new Exception(sprintf(_m('Couldn\'t connect to %1$s on %2$s.'),$controlserver,$this->controlport));
+ throw new Exception(sprintf(_m('Could not connect to %1$s on %2$s.'),$controlserver,$this->controlport));
}
}
@@ -125,7 +125,7 @@ class MeteorPlugin extends RealtimePlugin
$result = fgets($this->_socket);
if (preg_match('/^ERR (.*)$/', $result, $matches)) {
// TRANS: Exception. %s is the Meteor message that could not be added.
- throw new Exception(sprintf(_m('Error adding meteor message "%s"'),$matches[1]));
+ throw new Exception(sprintf(_m('Error adding meteor message "%s".'),$matches[1]));
}
// TODO: parse and deal with result
}
@@ -155,6 +155,7 @@ class MeteorPlugin extends RealtimePlugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Meteor',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Plugin to do "real time" updates using Comet/Bayeux.'));
return true;
}
diff --git a/plugins/Meteor/README b/plugins/Meteor/README
index 22f548462f..f21828cdc5 100644
--- a/plugins/Meteor/README
+++ b/plugins/Meteor/README
@@ -1,27 +1,24 @@
-This is a plugin to automatically load notices in the browser no
-matter who creates them -- the kind of thing we see with
-search.twitter.com, rejaw.com, or FriendFeed's "real time" news.
+This is a plugin to automatically load notices in the browser no matter who
+creates them -- the kind of thing we see with search.twitter.com, rejaw.com, or
+FriendFeed's "real time" news.
It requires a meteor server.
http://meteorserver.org/
-Note that the controller interface needs to be accessible by the Web
-server, and the subscriber interface needs to be accessible by your
-Web users. You MUST firewall the controller interface from users;
-otherwise anyone will be able to push any message to your subscribers.
-Not good!
+Note that the controller interface needs to be accessible by the Web server, and
+the subscriber interface needs to be accessible by your Web users. You MUST
+firewall the controller interface from users; otherwise anyone will be able to
+push any message to your subscribers. Not good!
You can enable the plugin with this line in config.php:
addPlugin('Meteor', array('webserver' => 'meteor server address'));
Available parameters:
-
* webserver: Web server address. Defaults to site server.
* webport: port to connect to for Web access. Defaults to 4670.
* controlserver: Control server address. Defaults to webserver.
* controlport: port to connect to for control. Defaults to 4671.
* channelbase: a base string to use for channels. Good if you have
multiple sites using the same meteor server.
-
diff --git a/plugins/Minify/MinifyPlugin.php b/plugins/Minify/MinifyPlugin.php
index cfed0779ba..4041b228ae 100644
--- a/plugins/Minify/MinifyPlugin.php
+++ b/plugins/Minify/MinifyPlugin.php
@@ -176,6 +176,7 @@ class MinifyPlugin extends Plugin
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:Minify',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('The Minify plugin minifies StatusNet\'s CSS and JavaScript, removing whitespace and comments.'));
return true;
}
diff --git a/plugins/Minify/README b/plugins/Minify/README
index f7763735ed..97fa7dadf9 100644
--- a/plugins/Minify/README
+++ b/plugins/Minify/README
@@ -1,4 +1,5 @@
-The Minify plugin minifies your CSS and Javascript, removing whitespace and comments.
+The Minify plugin minifies your CSS and Javascript, removing whitespace and
+comments.
Note that if enabled this plugin and use a theme server,
(if any of $config['theme']['server'], $config['theme']['path'],
@@ -31,4 +32,3 @@ Example
=======
addPlugin('minify', array());
-
diff --git a/plugins/Minify/minify.php b/plugins/Minify/minify.php
index e012a40272..b7bee7c881 100644
--- a/plugins/Minify/minify.php
+++ b/plugins/Minify/minify.php
@@ -46,16 +46,18 @@ class MinifyAction extends Action
if(file_exists($this->file)) {
return true;
} else {
+ // TRANS: Client error displayed when not providing a valid path in parameter "f".
$this->clientError(_m('The parameter "f" is not a valid path.'),404);
return false;
}
}else{
+ // TRANS: Client error displayed when not providing parameter "f".
$this->clientError(_m('The parameter "f" is required but missing.'),500);
return false;
}
}
- function etag()
+ function etag()
{
if(isset($this->v)) {
return "\"" . crc32($this->file . $this->v) . "\"";
@@ -73,7 +75,7 @@ class MinifyAction extends Action
function handle($args)
{
parent::handle($args);
-
+
$c = Cache::instance();
if (!empty($c)) {
$cacheKey = Cache::key(MinifyPlugin::cacheKey . ':' . $this->file . '?v=' . empty($this->v)?'':$this->v);
@@ -108,6 +110,7 @@ class MinifyAction extends Action
header('Content-Type: ' . self::TYPE_CSS);
break;
default:
+ // TRANS: Client error displayed when trying to minify an unsupported file type.
$this->clientError(_m('File type not supported.'),500);
return false;
}
diff --git a/plugins/Mobile/WAP20Plugin.php b/plugins/Mobile/WAP20Plugin.php
index aae48a5200..fc5008cda6 100644
--- a/plugins/Mobile/WAP20Plugin.php
+++ b/plugins/Mobile/WAP20Plugin.php
@@ -31,7 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-
/**
* Superclass for plugin to output XHTML Mobile Profile
*
@@ -44,13 +43,8 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
class WAP20Plugin extends Plugin
{
-
function onStartShowHTML($action)
{
}
-
}
-
-
-?>
diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php
index fa0c4e7c22..7e005731b6 100644
--- a/plugins/MobileProfile/MobileProfilePlugin.php
+++ b/plugins/MobileProfile/MobileProfilePlugin.php
@@ -193,6 +193,7 @@ class MobileProfilePlugin extends WAP20Plugin
$type = common_negotiate_type($cp, $sp);
if (!$type) {
+ // TRANS: Client exception thrown when requesting a not supported media type.
throw new ClientException(_m('This page is not available in a '.
'media type you accept.'), 406);
}
@@ -310,31 +311,41 @@ class MobileProfilePlugin extends WAP20Plugin
$action->elementStart('ul', array('id' => 'site_nav_global_primary'));
if ($user) {
$action->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
+ // TRANS: Menu item in mobile profile to go to start page of site.
_m('Home'));
$action->menuItem(common_local_url('profilesettings'),
+ // TRANS: Menu item in mobile profile to go to user account settings.
_m('Account'));
$action->menuItem(common_local_url('oauthconnectionssettings'),
- _m('Connect'));
+ // TRANS: Menu item in mobile profile to connect to other services.
+ _m('Connect'));
if ($user->hasRight(Right::CONFIGURESITE)) {
$action->menuItem(common_local_url('siteadminpanel'),
- _m('Admin'), _m('Change site configuration'), false, 'nav_admin');
+ // TRANS: Menu item in mobile profile to manage site settings.
+ _m('Admin'),
+ _m('Change site configuration'), false, 'nav_admin');
}
if (common_config('invite', 'enabled')) {
$action->menuItem(common_local_url('invite'),
+ // TRANS: Menu item in mobile profile to invite other people.
_m('Invite'));
}
$action->menuItem(common_local_url('logout'),
+ // TRANS: Menu item in mobile profile log the current user off.
_m('Logout'));
} else {
if (!common_config('site', 'closed')) {
$action->menuItem(common_local_url('register'),
+ // TRANS: Menu item in mobile profile to register with the site.
_m('Register'));
}
$action->menuItem(common_local_url('login'),
+ // TRANS: Menu item in mobile profile to log in.
_m('Login'));
}
if ($user || !common_config('site', 'private')) {
$action->menuItem(common_local_url('peoplesearch'),
+ // TRANS: Menu item in mobile profile to search the site.
_m('Search'));
}
$action->elementEnd('ul');
@@ -362,11 +373,13 @@ class MobileProfilePlugin extends WAP20Plugin
if (common_config('attachments', 'uploads')) {
if ($this->mobileFeatures['inputfiletype']) {
$form->out->hidden('MAX_FILE_SIZE', common_config('attachments', 'file_quota'));
+ // TRANS: Field label in mobile profile to attach a file to a status.
$form->out->element('label', array('for' => 'notice_data-attach'), _m('Attach'));
$form->out->element('input', array('id' => 'notice_data-attach',
'type' => 'file',
'name' => 'attach',
- 'title' => _m('Attach a file')));
+ // TRANS: Field title in mobile profile to attach a file to a status.
+ 'title' => _m('Attach a file.')));
}
}
if ($form->action) {
@@ -448,6 +461,7 @@ class MobileProfilePlugin extends WAP20Plugin
'author' => 'Sarven Capadisli',
'homepage' => 'http://status.net/wiki/Plugin:MobileProfile',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('XHTML MobileProfile output for supporting user agents.'));
return true;
}
diff --git a/plugins/ModHelper/ModHelperPlugin.php b/plugins/ModHelper/ModHelperPlugin.php
index d003827d13..c2757bbeae 100644
--- a/plugins/ModHelper/ModHelperPlugin.php
+++ b/plugins/ModHelper/ModHelperPlugin.php
@@ -34,6 +34,7 @@ class ModHelperPlugin extends Plugin
'author' => 'Brion Vibber',
'homepage' => 'http://status.net/wiki/Plugin:ModHelper',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Lets users who have been manually marked as "modhelper"s silence accounts.'));
return true;
diff --git a/plugins/ModPlus/ModPlusPlugin.php b/plugins/ModPlus/ModPlusPlugin.php
index ed478c27b8..95265c52ca 100644
--- a/plugins/ModPlus/ModPlusPlugin.php
+++ b/plugins/ModPlus/ModPlusPlugin.php
@@ -36,7 +36,8 @@ class ModPlusPlugin extends Plugin
'author' => 'Brion Vibber',
'homepage' => 'http://status.net/wiki/Plugin:ModPlus',
'rawdescription' =>
- _m('UI extensions for profile moderation actions.'));
+ // TRANS: Plugin description.
+ _m('UI extension for profile moderation actions.'));
return true;
}
@@ -136,6 +137,7 @@ class ModPlusPlugin extends Plugin
$isRemote = !(User::staticGet('id', $profile->id));
if ($isRemote) {
$target = common_local_url('remoteprofile', array('id' => $profile->id));
+ // TRANS: Label for access to remote profile options.
$label = _m('Remote profile options...');
$out->elementStart('div', 'remote-profile-options');
$out->element('a', array('href' => $target), $label);
diff --git a/plugins/ModPlus/remoteprofileaction.php b/plugins/ModPlus/remoteprofileaction.php
index 4399c4813c..8e2fcad284 100644
--- a/plugins/ModPlus/remoteprofileaction.php
+++ b/plugins/ModPlus/remoteprofileaction.php
@@ -1,5 +1,5 @@
profile->fullname)) {
- $base = $this->profile->fullname . ' (' . $this->profile->nickname . ') ';
- } else {
- $base = $this->profile->nickname;
- }
+ $base = $this->profile->getBestName();
$host = parse_url($this->profile->profileurl, PHP_URL_HOST);
- return sprintf(_m('%s on %s'), $base, $host);
+ // TRANS: Remote profile action page title.
+ // TRANS: %1$s is a username, %2$s is a hostname.
+ return sprintf(_m('%1$s on %2$s'), $base, $host);
}
/**
@@ -60,7 +57,10 @@ class RemoteProfileAction extends ShowstreamAction
$url = $this->profile->profileurl;
$host = parse_url($url, PHP_URL_HOST);
$markdown = sprintf(
- _m('This remote profile is registered on another site; see [%s\'s original profile page on %s](%s).'),
+ // TRANS: Message on remote profile page.
+ // TRANS: This message contains Markdown links in the form [description](link).
+ // TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
+ _m('This remote profile is registered on another site; see [%1$s\'s original profile page on %2$s](%3$s).'),
$this->profile->nickname,
$host,
$url);
@@ -68,6 +68,7 @@ class RemoteProfileAction extends ShowstreamAction
$this->raw($html);
if ($this->profile->hasRole(Profile_role::SILENCED)) {
+ // TRANS: Message on blocked remote profile page.
$markdown = _m('Site moderators have silenced this profile, which prevents delivery of new messages to any users on this site.');
$this->raw(common_markup_to_html($markdown));
}
@@ -103,5 +104,4 @@ class RemoteProfileAction extends ShowstreamAction
{
// skip
}
-
-}
\ No newline at end of file
+}