summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/APC/APCPlugin.php (renamed from plugins/APCPlugin.php)1
-rw-r--r--plugins/APC/locale/APC.pot23
-rw-r--r--plugins/Adsense/AdsensePlugin.php11
-rw-r--r--plugins/Adsense/locale/Adsense.pot2
-rw-r--r--plugins/AutoSandbox/AutoSandboxPlugin.php1
-rw-r--r--plugins/AutoSandbox/locale/AutoSandbox.pot5
-rw-r--r--plugins/Autocomplete/autocomplete.php1
-rw-r--r--plugins/Autocomplete/locale/Autocomplete.pot2
-rw-r--r--plugins/BitlyUrl/locale/BitlyUrl.pot2
-rw-r--r--plugins/Blacklist/BlacklistPlugin.php3
-rw-r--r--plugins/Blacklist/locale/Blacklist.pot4
-rw-r--r--plugins/BlankAd/BlankAdPlugin.php18
-rw-r--r--plugins/BlogspamNet/BlogspamNetPlugin.php (renamed from plugins/BlogspamNetPlugin.php)12
-rw-r--r--plugins/CacheLog/CacheLogPlugin.php (renamed from plugins/CacheLogPlugin.php)4
-rw-r--r--plugins/CacheLog/locale/CacheLog.pot21
-rw-r--r--plugins/CasAuthentication/CasAuthenticationPlugin.php22
-rw-r--r--plugins/CasAuthentication/caslogin.php5
-rw-r--r--plugins/CasAuthentication/locale/CasAuthentication.pot41
-rw-r--r--plugins/ClientSideShorten/ClientSideShortenPlugin.php4
-rw-r--r--plugins/ClientSideShorten/locale/ClientSideShorten.pot4
-rw-r--r--plugins/ClientSideShorten/shorten.php2
-rw-r--r--plugins/Comet/CometPlugin.php12
-rw-r--r--plugins/DirectionDetector/DirectionDetectorPlugin.php416
-rw-r--r--plugins/DirectionDetector/jquery.DirectionDetector.js61
-rw-r--r--plugins/DirectionDetector/locale/DirectionDetector.pot2
-rw-r--r--plugins/DiskCache/DiskCachePlugin.php (renamed from plugins/DiskCachePlugin.php)12
-rw-r--r--plugins/Disqus/DisqusPlugin.php (renamed from plugins/DisqusPlugin.php)2
-rw-r--r--plugins/Disqus/locale/Disqus.pot23
-rw-r--r--plugins/Echo/EchoPlugin.php (renamed from plugins/EchoPlugin.php)1
-rw-r--r--plugins/Echo/locale/Echo.pot23
-rw-r--r--plugins/EmailAuthentication/EmailAuthenticationPlugin.php2
-rw-r--r--plugins/EmailAuthentication/locale/EmailAuthentication.pot2
-rw-r--r--plugins/Enjit/enjitqueuehandler.php1
-rw-r--r--plugins/Facebook/FBC_XDReceiver.php8
-rw-r--r--plugins/Facebook/FBConnectAuth.php32
-rw-r--r--plugins/Facebook/FBConnectLogin.php2
-rw-r--r--plugins/Facebook/FBConnectSettings.php18
-rw-r--r--plugins/Facebook/FacebookPlugin.php61
-rw-r--r--plugins/Facebook/facebookaction.php46
-rw-r--r--plugins/Facebook/facebookadminpanel.php13
-rw-r--r--plugins/Facebook/facebookhome.php33
-rw-r--r--plugins/Facebook/facebookinvite.php15
-rw-r--r--plugins/Facebook/facebooklogin.php8
-rw-r--r--plugins/Facebook/facebooknoticeform.php26
-rw-r--r--plugins/Facebook/facebookremove.php2
-rw-r--r--plugins/Facebook/facebooksettings.php12
-rw-r--r--plugins/Facebook/facebookutil.php15
-rw-r--r--plugins/Facebook/locale/Facebook.pot305
-rw-r--r--plugins/FirePHP/FirePHPPlugin.php1
-rw-r--r--plugins/FirePHP/locale/FirePHP.pot2
-rw-r--r--plugins/GeoURL/GeoURLPlugin.php (renamed from plugins/GeoURLPlugin.php)3
-rw-r--r--plugins/GeoURL/locale/GeoURL.pot23
-rw-r--r--plugins/Geonames/GeonamesPlugin.php (renamed from plugins/GeonamesPlugin.php)7
-rw-r--r--plugins/Geonames/locale/Geonames.pot23
-rw-r--r--plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php (renamed from plugins/GoogleAnalyticsPlugin.php)3
-rw-r--r--plugins/GoogleAnalytics/locale/GoogleAnalytics.pot23
-rw-r--r--plugins/Gravatar/GravatarPlugin.php21
-rw-r--r--plugins/Gravatar/README2
-rw-r--r--plugins/Gravatar/locale/Gravatar.pot6
-rw-r--r--plugins/Imap/ImapPlugin.php8
-rw-r--r--plugins/Imap/imapmanager.php6
-rw-r--r--plugins/Imap/locale/Imap.pot18
-rw-r--r--plugins/InfiniteScroll/locale/InfiniteScroll.pot2
-rw-r--r--plugins/LdapAuthentication/locale/LdapAuthentication.pot2
-rw-r--r--plugins/LdapAuthorization/locale/LdapAuthorization.pot2
-rw-r--r--plugins/LdapCommon/LdapCommon.php22
-rw-r--r--plugins/LdapCommon/MemcacheSchemaCache.php42
-rw-r--r--plugins/LilUrl/LilUrlPlugin.php3
-rw-r--r--plugins/LilUrl/locale/LilUrl.pot2
-rw-r--r--plugins/Linkback/LinkbackPlugin.php (renamed from plugins/LinkbackPlugin.php)2
-rw-r--r--plugins/Linkback/locale/Linkback.pot25
-rw-r--r--plugins/Mapstraction/MapstractionPlugin.php8
-rw-r--r--plugins/Mapstraction/allmap.php9
-rw-r--r--plugins/Mapstraction/locale/Mapstraction.pot26
-rw-r--r--plugins/Mapstraction/map.php2
-rw-r--r--plugins/Mapstraction/usermap.php7
-rw-r--r--plugins/Memcache/MemcachePlugin.php (renamed from plugins/MemcachePlugin.php)7
-rw-r--r--plugins/Memcache/locale/Memcache.pot22
-rw-r--r--plugins/Memcached/MemcachedPlugin.php (renamed from plugins/MemcachedPlugin.php)6
-rw-r--r--plugins/Memcached/locale/Memcached.pot22
-rw-r--r--plugins/Meteor/MeteorPlugin.php18
-rw-r--r--plugins/Minify/MinifyPlugin.php4
-rw-r--r--plugins/Minify/locale/Minify.pot18
-rw-r--r--plugins/Minify/minify.php7
-rw-r--r--plugins/MobileProfile/MobileProfilePlugin.php60
-rw-r--r--plugins/MobileProfile/locale/MobileProfile.pot2
-rw-r--r--plugins/NoticeTitle/NoticeTitlePlugin.php7
-rw-r--r--plugins/NoticeTitle/locale/NoticeTitle.pot10
-rw-r--r--plugins/OStatus/OStatusPlugin.php37
-rw-r--r--plugins/OStatus/actions/groupsalmon.php30
-rw-r--r--plugins/OStatus/actions/hostmeta.php1
-rw-r--r--plugins/OStatus/actions/ostatusgroup.php8
-rw-r--r--plugins/OStatus/actions/ostatusinit.php22
-rw-r--r--plugins/OStatus/actions/ostatussub.php42
-rw-r--r--plugins/OStatus/actions/ownerxrd.php2
-rw-r--r--plugins/OStatus/actions/pushcallback.php26
-rw-r--r--plugins/OStatus/actions/pushhub.php37
-rw-r--r--plugins/OStatus/actions/usersalmon.php48
-rw-r--r--plugins/OStatus/actions/userxrd.php8
-rw-r--r--plugins/OStatus/classes/FeedSub.php9
-rw-r--r--plugins/OStatus/classes/HubSub.php13
-rw-r--r--plugins/OStatus/classes/Magicsig.php4
-rw-r--r--plugins/OStatus/classes/Ostatus_profile.php126
-rw-r--r--plugins/OStatus/classes/Ostatus_source.php4
-rw-r--r--plugins/OStatus/lib/discovery.php4
-rw-r--r--plugins/OStatus/lib/discoveryhints.php1
-rw-r--r--plugins/OStatus/lib/linkheader.php3
-rw-r--r--plugins/OStatus/lib/magicenvelope.php6
-rw-r--r--plugins/OStatus/lib/ostatusqueuehandler.php1
-rw-r--r--plugins/OStatus/lib/pushinqueuehandler.php1
-rw-r--r--plugins/OStatus/lib/salmon.php5
-rw-r--r--plugins/OStatus/lib/salmonaction.php17
-rw-r--r--plugins/OStatus/lib/xrd.php7
-rw-r--r--plugins/OStatus/lib/xrdaction.php1
-rw-r--r--plugins/OStatus/locale/OStatus.pot581
-rw-r--r--plugins/OStatus/tests/remote-tests.php6
-rw-r--r--plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php3
-rw-r--r--plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot4
-rw-r--r--plugins/OpenID/locale/OpenID.pot2
-rw-r--r--plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php (renamed from plugins/PiwikAnalyticsPlugin.php)6
-rw-r--r--plugins/PiwikAnalytics/locale/PiwikAnalytics.pot23
-rw-r--r--plugins/PostDebug/locale/PostDebug.pot2
-rw-r--r--plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php3
-rw-r--r--plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot13
-rw-r--r--plugins/PtitUrl/locale/PtitUrl.pot2
-rw-r--r--plugins/RSSCloud/LoggingAggregator.php15
-rw-r--r--plugins/RSSCloud/RSSCloudNotifier.php2
-rw-r--r--plugins/RSSCloud/RSSCloudPlugin.php3
-rw-r--r--plugins/RSSCloud/RSSCloudQueueHandler.php1
-rw-r--r--plugins/RSSCloud/RSSCloudRequestNotify.php40
-rw-r--r--plugins/RSSCloud/RSSCloudSubscription.php1
-rw-r--r--plugins/RSSCloud/locale/RSSCloud.pot47
-rw-r--r--plugins/Recaptcha/RecaptchaPlugin.php12
-rw-r--r--plugins/Recaptcha/locale/Recaptcha.pot10
-rw-r--r--plugins/RegisterThrottle/RegisterThrottlePlugin.php5
-rw-r--r--plugins/RegisterThrottle/Registration_ip.php6
-rw-r--r--plugins/RegisterThrottle/locale/RegisterThrottle.pot14
-rw-r--r--plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php1
-rw-r--r--plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot2
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot2
-rw-r--r--plugins/Sample/SamplePlugin.php8
-rw-r--r--plugins/Sample/User_greeting_count.php16
-rw-r--r--plugins/Sample/hello.php8
-rw-r--r--plugins/Sample/locale/Sample.pot33
-rw-r--r--plugins/SimpleUrl/locale/SimpleUrl.pot2
-rw-r--r--plugins/Spotify/SpotifyPlugin.php (renamed from plugins/SpotifyPlugin.php)0
-rw-r--r--plugins/SubMirror/SubMirrorPlugin.php6
-rw-r--r--plugins/SubMirror/actions/addmirror.php2
-rw-r--r--plugins/SubMirror/actions/basemirror.php15
-rw-r--r--plugins/SubMirror/actions/editmirror.php5
-rw-r--r--plugins/SubMirror/actions/mirrorsettings.php7
-rw-r--r--plugins/SubMirror/classes/SubMirror.php10
-rw-r--r--plugins/SubMirror/lib/addmirrorform.php10
-rw-r--r--plugins/SubMirror/lib/editmirrorform.php9
-rw-r--r--plugins/SubMirror/lib/mirrorqueuehandler.php1
-rw-r--r--plugins/SubMirror/locale/SubMirror.pot64
-rw-r--r--plugins/SubscriptionThrottle/SubscriptionThrottlePlugin.php (renamed from plugins/SubscriptionThrottlePlugin.php)0
-rw-r--r--plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot21
-rw-r--r--plugins/TabFocus/TabFocusPlugin.php2
-rw-r--r--plugins/TabFocus/locale/TabFocus.pot4
-rw-r--r--plugins/Template/TemplatePlugin.php (renamed from plugins/TemplatePlugin.php)0
-rw-r--r--plugins/TightUrl/locale/TightUrl.pot2
-rw-r--r--plugins/TinyMCE/TinyMCEPlugin.php10
-rw-r--r--plugins/TinyMCE/locale/TinyMCE.pot6
-rw-r--r--plugins/TwitterBridge/TwitterBridgePlugin.php14
-rw-r--r--plugins/TwitterBridge/Twitter_synch_status.php10
-rwxr-xr-xplugins/TwitterBridge/daemons/synctwitterfriends.php7
-rwxr-xr-xplugins/TwitterBridge/daemons/twitterstatusfetcher.php24
-rw-r--r--plugins/TwitterBridge/locale/TwitterBridge.pot255
-rw-r--r--plugins/TwitterBridge/twitter.php20
-rw-r--r--plugins/TwitterBridge/twitteradminpanel.php14
-rw-r--r--plugins/TwitterBridge/twitterauthorization.php59
-rw-r--r--plugins/TwitterBridge/twitterlogin.php9
-rw-r--r--plugins/TwitterBridge/twitteroauthclient.php1
-rw-r--r--plugins/TwitterBridge/twittersettings.php11
-rw-r--r--plugins/UserLimit/UserLimitPlugin.php (renamed from plugins/UserLimitPlugin.php)0
-rw-r--r--plugins/UserLimit/locale/UserLimit.pot21
-rw-r--r--plugins/WikiHashtags/WikiHashtagsPlugin.php (renamed from plugins/WikiHashtagsPlugin.php)0
-rw-r--r--plugins/WikiHashtags/locale/WikiHashtags.pot23
-rw-r--r--plugins/WikiHowProfile/WikiHowProfilePlugin.php17
-rw-r--r--plugins/WikiHowProfile/locale/WikiHowProfile.pot16
-rw-r--r--plugins/XCache/XCachePlugin.php (renamed from plugins/XCachePlugin.php)0
-rw-r--r--plugins/XCache/locale/XCache.pot23
183 files changed, 2469 insertions, 1389 deletions
diff --git a/plugins/APCPlugin.php b/plugins/APC/APCPlugin.php
index 666f64b14..006977900 100644
--- a/plugins/APCPlugin.php
+++ b/plugins/APC/APCPlugin.php
@@ -116,4 +116,3 @@ class APCPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/APC/locale/APC.pot b/plugins/APC/locale/APC.pot
new file mode 100644
index 000000000..122a51f97
--- /dev/null
+++ b/plugins/APC/locale/APC.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
diff --git a/plugins/Adsense/AdsensePlugin.php b/plugins/Adsense/AdsensePlugin.php
index c02430a58..3d733e150 100644
--- a/plugins/Adsense/AdsensePlugin.php
+++ b/plugins/Adsense/AdsensePlugin.php
@@ -198,4 +198,15 @@ class AdsensePlugin extends UAPPlugin
}
return true;
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'BlankAdPlugin',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Adsense',
+ 'rawdescription' =>
+ _m('Plugin to add Google Adsense to StatusNet sites.'));
+ return true;
+ }
}
diff --git a/plugins/Adsense/locale/Adsense.pot b/plugins/Adsense/locale/Adsense.pot
index d4bed3af5..6d69f639c 100644
--- a/plugins/Adsense/locale/Adsense.pot
+++ b/plugins/Adsense/locale/Adsense.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/AutoSandbox/AutoSandboxPlugin.php b/plugins/AutoSandbox/AutoSandboxPlugin.php
index 870eda86f..16683e140 100644
--- a/plugins/AutoSandbox/AutoSandboxPlugin.php
+++ b/plugins/AutoSandbox/AutoSandboxPlugin.php
@@ -75,6 +75,7 @@ class AutoSandboxPlugin extends Plugin
$contactuser = User::staticGet('nickname', $this->contact);
if (!empty($contactuser)) {
$contactlink = "@<a href=\"$contactuser->uri\">$contactuser->nickname</a>";
+ // TRANS: $contactlink is a clickable e-mailaddress.
$instr = _m("Note you will initially be \"sandboxed\" so your posts will not appear in the public timeline. ".
'Send a message to $contactlink to speed up the unsandboxing process.');
}
diff --git a/plugins/AutoSandbox/locale/AutoSandbox.pot b/plugins/AutoSandbox/locale/AutoSandbox.pot
index c6712c6b8..ff4f38776 100644
--- a/plugins/AutoSandbox/locale/AutoSandbox.pot
+++ b/plugins/AutoSandbox/locale/AutoSandbox.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -26,7 +26,8 @@ msgid ""
"the public timeline."
msgstr ""
-#: AutoSandboxPlugin.php:78
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
msgid ""
"Note you will initially be \"sandboxed\" so your posts will not appear in "
"the public timeline. Send a message to $contactlink to speed up the "
diff --git a/plugins/Autocomplete/autocomplete.php b/plugins/Autocomplete/autocomplete.php
index 5a010572f..a4e2d9baa 100644
--- a/plugins/Autocomplete/autocomplete.php
+++ b/plugins/Autocomplete/autocomplete.php
@@ -79,6 +79,7 @@ class AutocompleteAction extends Action
function etag()
{
return '"' . implode(':', array($this->arg('action'),
+ common_user_cache_hash(),
crc32($this->arg('q')), //the actual string can have funny characters in we don't want showing up in the etag
$this->arg('limit'),
$this->lastModified())) . '"';
diff --git a/plugins/Autocomplete/locale/Autocomplete.pot b/plugins/Autocomplete/locale/Autocomplete.pot
index 2fd61cfde..27f74bf09 100644
--- a/plugins/Autocomplete/locale/Autocomplete.pot
+++ b/plugins/Autocomplete/locale/Autocomplete.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/BitlyUrl/locale/BitlyUrl.pot b/plugins/BitlyUrl/locale/BitlyUrl.pot
index 12012ba88..4c4455da9 100644
--- a/plugins/BitlyUrl/locale/BitlyUrl.pot
+++ b/plugins/BitlyUrl/locale/BitlyUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php
index 000834838..10f89ef72 100644
--- a/plugins/Blacklist/BlacklistPlugin.php
+++ b/plugins/Blacklist/BlacklistPlugin.php
@@ -231,7 +231,7 @@ class BlacklistPlugin extends Plugin
$url = htmlspecialchars_decode($url);
if (!$this->_checkUrl($url)) {
- $msg = sprintf(_m("You may not use UTL \"%s\" in notices."),
+ $msg = sprintf(_m("You may not use URL \"%s\" in notices."),
$url);
throw new ClientException($msg);
}
@@ -348,7 +348,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onAdminPanelCheck($name, &$isOK)
{
if ($name == 'blacklist') {
diff --git a/plugins/Blacklist/locale/Blacklist.pot b/plugins/Blacklist/locale/Blacklist.pot
index 88db86ebd..f6bb591a8 100644
--- a/plugins/Blacklist/locale/Blacklist.pot
+++ b/plugins/Blacklist/locale/Blacklist.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -38,7 +38,7 @@ msgstr ""
#: BlacklistPlugin.php:234
#, php-format
-msgid "You may not use UTL \"%s\" in notices."
+msgid "You may not use URL \"%s\" in notices."
msgstr ""
#: BlacklistPlugin.php:338
diff --git a/plugins/BlankAd/BlankAdPlugin.php b/plugins/BlankAd/BlankAdPlugin.php
index 0e2719aed..49243aeea 100644
--- a/plugins/BlankAd/BlankAdPlugin.php
+++ b/plugins/BlankAd/BlankAdPlugin.php
@@ -51,7 +51,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class BlankAdPlugin extends UAPPlugin
{
/**
@@ -61,7 +60,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showMediumRectangle($action)
{
$action->element('img',
@@ -78,7 +76,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showRectangle($action)
{
$action->element('img',
@@ -95,7 +92,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showWideSkyscraper($action)
{
$action->element('img',
@@ -112,7 +108,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showLeaderboard($action)
{
$action->element('img',
@@ -121,4 +116,15 @@ class BlankAdPlugin extends UAPPlugin
'src' => common_path('plugins/BlankAd/redpixel.png')),
'');
}
-} \ No newline at end of file
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'BlankAd',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:BlankAdPlugin',
+ 'rawdescription' =>
+ _m('Plugin for testing ad layout.'));
+ return true;
+ }
+}
diff --git a/plugins/BlogspamNetPlugin.php b/plugins/BlogspamNet/BlogspamNetPlugin.php
index d52e6006a..51a86b4f3 100644
--- a/plugins/BlogspamNetPlugin.php
+++ b/plugins/BlogspamNet/BlogspamNetPlugin.php
@@ -53,7 +53,6 @@ define('BLOGSPAMNETPLUGIN_VERSION', '0.1');
*
* @see Event
*/
-
class BlogspamNetPlugin extends Plugin
{
var $baseUrl = 'http://test.blogspam.net:8888/';
@@ -142,4 +141,15 @@ class BlogspamNetPlugin extends Plugin
{
return 'BlogspamNetPlugin/'.BLOGSPAMNETPLUGIN_VERSION . ' StatusNet/' . STATUSNET_VERSION;
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'BlogspamNet',
+ 'version' => BLOGSPAMNETPLUGIN_VERSION,
+ 'author' => 'Evan Prodromou, Brion Vibber',
+ 'homepage' => 'http://status.net/wiki/Plugin:BlogspamNet',
+ 'rawdescription' =>
+ _m('Plugin to check submitted notices with blogspam.net.'));
+ return true;
+ }
}
diff --git a/plugins/CacheLogPlugin.php b/plugins/CacheLog/CacheLogPlugin.php
index 4c47de80e..5b0b43935 100644
--- a/plugins/CacheLogPlugin.php
+++ b/plugins/CacheLog/CacheLogPlugin.php
@@ -50,7 +50,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class CacheLogPlugin extends Plugin
{
function onStartCacheGet(&$key, &$value)
@@ -114,8 +113,7 @@ class CacheLogPlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:CacheLog',
'description' =>
- _m('Log reads and writes to the cache'));
+ _m('Log reads and writes to the cache.'));
return true;
}
}
-
diff --git a/plugins/CacheLog/locale/CacheLog.pot b/plugins/CacheLog/locale/CacheLog.pot
new file mode 100644
index 000000000..fbcd6dd08
--- /dev/null
+++ b/plugins/CacheLog/locale/CacheLog.pot
@@ -0,0 +1,21 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr ""
diff --git a/plugins/CasAuthentication/CasAuthenticationPlugin.php b/plugins/CasAuthentication/CasAuthenticationPlugin.php
index 1662db3eb..6b751a0aa 100644
--- a/plugins/CasAuthentication/CasAuthenticationPlugin.php
+++ b/plugins/CasAuthentication/CasAuthenticationPlugin.php
@@ -79,8 +79,10 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('caslogin'),
+ // TRANS: Menu item. CAS is Central Authentication Service.
_m('CAS'),
- _m('Login or register with CAS'),
+ // TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+ _m('Login or register with CAS.'),
$action_name === 'caslogin');
return true;
@@ -93,9 +95,11 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
switch ($name)
{
case 'login':
- $instr = '(Have an account with CAS? ' .
- 'Try our [CAS login]'.
- '(%%action.caslogin%%)!)';
+ // TRANS: Invitation to users with a CAS account to log in using the service.
+ // TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+ // TRANS: These two elements may not be separated.
+ $instr = _m('(Have an account with CAS? ' .
+ 'Try our [CAS login](%%action.caslogin%%)!)');
break;
default:
return true;
@@ -121,13 +125,13 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
function onInitializePlugin(){
parent::onInitializePlugin();
if(!isset($this->server)){
- throw new Exception("must specify a server");
+ throw new Exception(_m("Specifying a server is required.");
}
if(!isset($this->port)){
- throw new Exception("must specify a port");
+ throw new Exception(_m("Specifying a port is required.");
}
if(!isset($this->path)){
- throw new Exception("must specify a path");
+ throw new Exception(_m("Specifying a path is required.");
}
//These values need to be accessible to a action object
//I can't think of any other way than global variables
@@ -146,8 +150,8 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
'version' => STATUSNET_VERSION,
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:CasAuthentication',
- 'rawdescription' =>
- _m('The CAS Authentication plugin allows for StatusNet to handle authentication through CAS (Central Authentication Service).'));
+ // TRANS: Plugin description. CAS is Central Authentication Service.
+ 'rawdescription' => _m('The CAS Authentication plugin allows for StatusNet to handle authentication through CAS (Central Authentication Service).'));
return true;
}
}
diff --git a/plugins/CasAuthentication/caslogin.php b/plugins/CasAuthentication/caslogin.php
index a66774dc1..846774e7c 100644
--- a/plugins/CasAuthentication/caslogin.php
+++ b/plugins/CasAuthentication/caslogin.php
@@ -36,13 +36,13 @@ class CasloginAction extends Action
$casTempPassword = common_good_rand(16);
$user = common_check_user(phpCAS::getUser(), $casTempPassword);
if (!$user) {
- $this->serverError(_('Incorrect username or password.'));
+ $this->serverError(_m('Incorrect username or password.'));
return;
}
// success!
if (!common_set_user($user)) {
- $this->serverError(_('Error setting user. You are probably not authorized.'));
+ $this->serverError(_m('Error setting user. You are probably not authorized.'));
return;
}
@@ -69,7 +69,6 @@ class CasloginAction extends Action
}
common_redirect($url, 303);
-
}
}
}
diff --git a/plugins/CasAuthentication/locale/CasAuthentication.pot b/plugins/CasAuthentication/locale/CasAuthentication.pot
index b5c45eb68..203fd5ede 100644
--- a/plugins/CasAuthentication/locale/CasAuthentication.pot
+++ b/plugins/CasAuthentication/locale/CasAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,15 +16,38 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: CasAuthenticationPlugin.php:82
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
msgid "CAS"
msgstr ""
-#: CasAuthenticationPlugin.php:83
-msgid "Login or register with CAS"
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr ""
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr ""
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr ""
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
msgstr ""
-#: CasAuthenticationPlugin.php:150
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
msgid ""
"The CAS Authentication plugin allows for StatusNet to handle authentication "
"through CAS (Central Authentication Service)."
@@ -33,3 +56,11 @@ msgstr ""
#: caslogin.php:28
msgid "Already logged in."
msgstr ""
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr ""
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
diff --git a/plugins/ClientSideShorten/ClientSideShortenPlugin.php b/plugins/ClientSideShorten/ClientSideShortenPlugin.php
index 57f5ad89e..27a3a56f7 100644
--- a/plugins/ClientSideShorten/ClientSideShortenPlugin.php
+++ b/plugins/ClientSideShorten/ClientSideShortenPlugin.php
@@ -71,9 +71,7 @@ class ClientSideShortenPlugin extends Plugin
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:ClientSideShorten',
'rawdescription' =>
- _m('ClientSideShorten causes the web interface\'s notice form to automatically shorten urls as they entered, and before the notice is submitted.'));
+ _m('ClientSideShorten causes the web interface\'s notice form to automatically shorten URLs as they entered, and before the notice is submitted.'));
return true;
}
-
}
-
diff --git a/plugins/ClientSideShorten/locale/ClientSideShorten.pot b/plugins/ClientSideShorten/locale/ClientSideShorten.pot
index d2b4862dd..8ef97c61b 100644
--- a/plugins/ClientSideShorten/locale/ClientSideShorten.pot
+++ b/plugins/ClientSideShorten/locale/ClientSideShorten.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,7 +19,7 @@ msgstr ""
#: ClientSideShortenPlugin.php:74
msgid ""
"ClientSideShorten causes the web interface's notice form to automatically "
-"shorten urls as they entered, and before the notice is submitted."
+"shorten URLs as they entered, and before the notice is submitted."
msgstr ""
#: shorten.php:56
diff --git a/plugins/ClientSideShorten/shorten.php b/plugins/ClientSideShorten/shorten.php
index f67cbf3b2..53c2cf5d1 100644
--- a/plugins/ClientSideShorten/shorten.php
+++ b/plugins/ClientSideShorten/shorten.php
@@ -41,7 +41,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
* @link http://status.net/
*/
-
class ShortenAction extends Action
{
private $text;
@@ -66,4 +65,3 @@ class ShortenAction extends Action
print $shortened_text;
}
}
-
diff --git a/plugins/Comet/CometPlugin.php b/plugins/Comet/CometPlugin.php
index 29cb3004b..70b324b5c 100644
--- a/plugins/Comet/CometPlugin.php
+++ b/plugins/Comet/CometPlugin.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class CometPlugin extends RealtimePlugin
{
public $server = null;
@@ -104,4 +103,15 @@ class CometPlugin extends RealtimePlugin
}
return '/' . implode('/', $path);
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Comet',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Comet',
+ 'rawdescription' =>
+ _m('Plugin to do "real time" updates using Comet/Bayeux.'));
+ return true;
+ }
}
diff --git a/plugins/DirectionDetector/DirectionDetectorPlugin.php b/plugins/DirectionDetector/DirectionDetectorPlugin.php
index b1362b166..ac6b43c1f 100644
--- a/plugins/DirectionDetector/DirectionDetectorPlugin.php
+++ b/plugins/DirectionDetector/DirectionDetectorPlugin.php
@@ -1,4 +1,5 @@
<?php
+
/**
* DirectionDetector plugin, detects notices with RTL content & sets RTL
* style for them.
@@ -18,210 +19,247 @@
*
* @category Plugin
* @package StatusNet
- * @author Behrooz shabani (everplays) - <behrooz@rock.com>
+ * @author Behrooz shabani (everplays) - <behrooz@rock.com>
* @copyright 2009-2010 Behrooz shabani
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
*
*/
if (!defined('STATUSNET')) {
- exit(1);
+ exit(1);
}
-define('DIRECTIONDETECTORPLUGIN_VERSION', '0.1.2');
+define('DIRECTIONDETECTORPLUGIN_VERSION', '0.2.0');
class DirectionDetectorPlugin extends Plugin {
- /**
- * SN plugin API, here we will make changes on rendered column
- *
- * @param object $notice notice is going to be saved
- */
- public function onStartNoticeSave(&$notice){
- if(!preg_match('/<span class="rtl">/', $notice->rendered) && self::isRTL($notice->content))
- $notice->rendered = '<span class="rtl">'.$notice->rendered.'</span>';
- return true;
- }
+ /**
+ * SN plugin API, here we will make changes on rendered column
+ *
+ * @param object $notice notice is going to be saved
+ */
+ public function onStartNoticeSave($notice){
+ if(!preg_match('/<span class="rtl">/', $notice->rendered) && self::isRTL($notice->content))
+ $notice->rendered = '<span class="rtl">'.$notice->rendered.'</span>';
+ return true;
+ }
+
+ /**
+ * SN plugin API, here we will add css needed for modifiyed rendered
+ *
+ * @param Action $xml
+ */
+ public function onEndShowStatusNetStyles($xml){
+ $xml->element('style', array('type' => 'text/css'), 'span.rtl {display:block;direction:rtl;text-align:right;float:right;} .notice .author {float:left}');
+ }
+
+ /**
+ * is passed string a rtl content or not
+ *
+ * @param string $content
+ * @return boolean
+ */
+ public static function isRTL($content){
+ $content = self::getClearText($content);
+ $words = explode(' ', $content);
+ $rtl = 0;
+ foreach($words as $str)
+ if(self::startsWithRTLCharacter($str))
+ $rtl++;
+ else
+ $rtl--;
+ if($rtl>0)// if number of rtl words is more than ltr words so it's a rtl content
+ return true;
+ elseif($rtl==0)
+ // check first word again
+ return self::startsWithRTLCharacter($words[0]);
+ return false;
+ }
+
+ /**
+ * checks that passed string starts with a RTL language or not
+ *
+ * @param string $str
+ * @return boolean
+ */
+ public static function startsWithRTLCharacter($str){
+ if( is_array($cc = self::utf8ToUnicode(mb_substr($str, 0, 1, 'utf-8'))) )
+ $cc = $cc[0];
+ else
+ return false;
+ if($cc>=1536 && $cc<=1791) // arabic, persian, urdu, kurdish, ...
+ return true;
+ if($cc>=65136 && $cc<=65279) // arabic peresent 2
+ return true;
+ if($cc>=64336 && $cc<=65023) // arabic peresent 1
+ return true;
+ if($cc>=1424 && $cc<=1535) // hebrew
+ return true;
+ if($cc>=64256 && $cc<=64335) // hebrew peresent
+ return true;
+ if($cc>=1792 && $cc<=1871) // Syriac
+ return true;
+ if($cc>=1920 && $cc<=1983) // Thaana
+ return true;
+ if($cc>=1984 && $cc<=2047) // NKo
+ return true;
+ if($cc>=11568 && $cc<=11647) // Tifinagh
+ return true;
+ return false;
+ }
- /**
- * SN plugin API, here we will add css needed for modifiyed rendered
- *
- * @param
- */
- public function onEndShowStatusNetStyles($xml){
- $xml->element('style', array('type' => 'text/css'), 'span.rtl {display:block;direction:rtl;text-align:right;float:right;width:490px;} .notice .author {float:left}');
- }
- /**
- * checks that passed string is a RTL language or not
- *
- * @param string $str String to be checked
- */
- public static function isRTL($str){
- self::getClearText($str);
- if( is_array($cc = self::utf8ToUnicode(mb_substr($str, 0, 1, 'utf-8'))) )
- $cc = $cc[0];
- else
- return false;
- if($cc>=1536 && $cc<=1791) // Arabic, Persian, Urdu, Kurdish, ...
- return true;
- if($cc>=65136 && $cc<=65279) // Arabic peresent 2
- return true;
- if($cc>=64336 && $cc<=65023) // Arabic peresent 1
- return true;
- if($cc>=1424 && $cc<=1535) // Hebrew
- return true;
- if($cc>=64256 && $cc<=64335) // Hebrew peresent
- return true;
- if($cc>=1792 && $cc<=1871) // Syriac
- return true;
- if($cc>=1920 && $cc<=1983) // Thaana
- return true;
- if($cc>=1984 && $cc<=2047) // NKo
- return true;
- if($cc>=11568 && $cc<=11647) // Tifinagh
- return true;
- return false;
- }
+ /**
+ * clears text from replys, tags, groups, reteets & whitespaces
+ *
+ * @param string $str
+ * @return string
+ */
+ private static function getClearText($str){
+ $str = preg_replace('/@[^ ]+|![^ ]+|#[^ ]+/u', '', $str); // reply, tag, group
+ $str = preg_replace('/^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]/u', '', $str); // redent, retweet
+ $str = preg_replace("/[ \r\t\n]+/", ' ', trim($str)); // remove spaces
+ return $str;
+ }
- /**
- * clears text from replies, tags, groups, repeats & whitespaces
- *
- * @param string &$str string to be cleared
- */
- private static function getClearText(&$str){
- $str = preg_replace('/@[^ ]+|![^ ]+|#[^ ]+/u', '', $str); // reply, tag, group
- $str = preg_replace('/^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]/u', '', $str); // redent, retweet
- $str = preg_replace("/[ \r\t\n]+/", ' ', trim($str)); // remove spaces
- }
+ /**
+ * adds javascript to do same thing on input textarea
+ *
+ * @param Action $action
+ */
+ function onEndShowScripts($action){
+ if (common_logged_in()) {
+ $action->script('plugins/DirectionDetector/jquery.DirectionDetector.js');
+ }
+ }
- /**
- * Takes a UTF-8 string and returns an array of ints representing the
- * Unicode characters. Astral planes are supported i.e. the ints in the
- * output can be > 0xFFFF. Occurrances of the BOM are ignored. Surrogates
- * are not allowed. ### modified ### returns first character code
- *
- * Returns false if the input string isn't a valid UTF-8 octet sequence.
- */
- private static function utf8ToUnicode($str){
- $mState = 0; // cached expected number of octets after the current octet
- // until the beginning of the next UTF8 character sequence
- $mUcs4 = 0; // cached Unicode character
- $mBytes = 1; // cached expected number of octets in the current sequence
- $out = array();
- $len = strlen($str);
+ /**
+ * Takes an UTF-8 string and returns an array of ints representing the
+ * Unicode characters. Astral planes are supported ie. the ints in the
+ * output can be > 0xFFFF. O$ccurrances of the BOM are ignored. Surrogates
+ * are not allowed.
+ *
+ * @param string $str
+ * @return mixed array of ints, or false on invalid input
+ */
+ private static function utf8ToUnicode($str){
+ $mState = 0; // cached expected number of octets after the current octet
+ // until the beginning of the next UTF8 character sequence
+ $mUcs4 = 0; // cached Unicode character
+ $mBytes = 1; // cached expected number of octets in the current sequence
+ $out = array();
+ $len = strlen($str);
- for($i = 0; $i < $len; $i++) {
- $in = ord($str{$i});
- if (0 == $mState) {
- // When mState is zero we expect either a US-ASCII character or a
- // multi-octet sequence.
- if (0 == (0x80 & ($in))) {
- // US-ASCII, pass straight through.
- $out[] = $in;
- $mBytes = 1;
- } elseif (0xC0 == (0xE0 & ($in))) {
- // First octet of 2 octet sequence
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x1F) << 6;
- $mState = 1;
- $mBytes = 2;
- } elseif (0xE0 == (0xF0 & ($in))) {
- // First octet of 3 octet sequence
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x0F) << 12;
- $mState = 2;
- $mBytes = 3;
- } elseif (0xF0 == (0xF8 & ($in))) {
- // First octet of 4 octet sequence
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x07) << 18;
- $mState = 3;
- $mBytes = 4;
- } elseif (0xF8 == (0xFC & ($in))) {
- /* First octet of 5 octet sequence.
- *
- * This is illegal because the encoded codepoint must be either
- * (a) not the shortest form or
- * (b) outside the Unicode range of 0-0x10FFFF.
- * Rather than trying to resynchronize, we will carry on until the end
- * of the sequence and let the later error handling code catch it.
- */
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x03) << 24;
- $mState = 4;
- $mBytes = 5;
- } elseif (0xFC == (0xFE & ($in))) {
- // First octet of 6 octet sequence, see comments for 5 octet sequence.
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 1) << 30;
- $mState = 5;
- $mBytes = 6;
- } else {
- /* Current octet is neither in the US-ASCII range nor a legal first
- * octet of a multi-octet sequence.
- */
- return false;
- }
- } else {
- // When mState is non-zero, we expect a continuation of the multi-octet
- // sequence
- if (0x80 == (0xC0 & ($in))) {
- // Legal continuation.
- $shift = ($mState - 1) * 6;
- $tmp = $in;
- $tmp = ($tmp & 0x0000003F) << $shift;
- $mUcs4 |= $tmp;
- if (0 == --$mState) {
- /* End of the multi-octet sequence. mUcs4 now contains the final
- * Unicode codepoint to be output
- *
- * Check for illegal sequences and codepoints.
- */
- // From Unicode 3.1, non-shortest form is illegal
- if (
- ((2 == $mBytes) && ($mUcs4 < 0x0080)) ||
- ((3 == $mBytes) && ($mUcs4 < 0x0800)) ||
- ((4 == $mBytes) && ($mUcs4 < 0x10000)) ||
- (4 < $mBytes) ||
- // From Unicode 3.2, surrogate characters are illegal
- (($mUcs4 & 0xFFFFF800) == 0xD800) ||
- // Codepoints outside the Unicode range are illegal
- ($mUcs4 > 0x10FFFF)
- ){
- return false;
- }
- if (0xFEFF != $mUcs4) {
- $out[] = $mUcs4;
- }
- //initialize UTF8 cache
- $mState = 0;
- $mUcs4 = 0;
- $mBytes = 1;
- }
- } else {
- /* ((0xC0 & (*in) != 0x80) && (mState != 0))
- *
- * Incomplete multi-octet sequence.
- */
- return false;
- }
- }
- }
- return $out;
- }
+ for($i = 0; $i < $len; $i++) {
+ $in = ord($str{$i});
+ if (0 == $mState) {
+ // When mState is zero we expect either a US-ASCII character or a
+ // multi-octet sequence.
+ if (0 == (0x80 & ($in))) {
+ // US-ASCII, pass straight through.
+ $out[] = $in;
+ $mBytes = 1;
+ } elseif (0xC0 == (0xE0 & ($in))) {
+ // First octet of 2 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x1F) << 6;
+ $mState = 1;
+ $mBytes = 2;
+ } elseif (0xE0 == (0xF0 & ($in))) {
+ // First octet of 3 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x0F) << 12;
+ $mState = 2;
+ $mBytes = 3;
+ } elseif (0xF0 == (0xF8 & ($in))) {
+ // First octet of 4 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x07) << 18;
+ $mState = 3;
+ $mBytes = 4;
+ } elseif (0xF8 == (0xFC & ($in))) {
+ /* First octet of 5 octet sequence.
+ *
+ * This is illegal because the encoded codepoint must be either
+ * (a) not the shortest form or
+ * (b) outside the Unicode range of 0-0x10FFFF.
+ * Rather than trying to resynchronize, we will carry on until the end
+ * of the sequence and let the later error handling code catch it.
+ */
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x03) << 24;
+ $mState = 4;
+ $mBytes = 5;
+ } elseif (0xFC == (0xFE & ($in))) {
+ // First octet of 6 octet sequence, see comments for 5 octet sequence.
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 1) << 30;
+ $mState = 5;
+ $mBytes = 6;
+ } else {
+ /* Current octet is neither in the US-ASCII range nor a legal first
+ * octet of a multi-octet sequence.
+ */
+ return false;
+ }
+ } else {
+ // When mState is non-zero, we expect a continuation of the multi-octet
+ // sequence
+ if (0x80 == (0xC0 & ($in))) {
+ // Legal continuation.
+ $shift = ($mState - 1) * 6;
+ $tmp = $in;
+ $tmp = ($tmp & 0x0000003F) << $shift;
+ $mUcs4 |= $tmp;
+ if (0 == --$mState) {
+ /* End of the multi-octet sequence. mUcs4 now contains the final
+ * Unicode codepoint to be output
+ *
+ * Check for illegal sequences and codepoints.
+ */
+ // From Unicode 3.1, non-shortest form is illegal
+ if (
+ ((2 == $mBytes) && ($mUcs4 < 0x0080)) ||
+ ((3 == $mBytes) && ($mUcs4 < 0x0800)) ||
+ ((4 == $mBytes) && ($mUcs4 < 0x10000)) ||
+ (4 < $mBytes) ||
+ // From Unicode 3.2, surrogate characters are illegal
+ (($mUcs4 & 0xFFFFF800) == 0xD800) ||
+ // Codepoints outside the Unicode range are illegal
+ ($mUcs4 > 0x10FFFF)
+ ){
+ return false;
+ }
+ if (0xFEFF != $mUcs4) {
+ $out[] = $mUcs4;
+ }
+ //initialize UTF8 cache
+ $mState = 0;
+ $mUcs4 = 0;
+ $mBytes = 1;
+ }
+ } else {
+ /* ((0xC0 & (*in) != 0x80) && (mState != 0))
+ *
+ * Incomplete multi-octet sequence.
+ */
+ return false;
+ }
+ }
+ }
+ return $out;
+ }
- /**
- * plugin details
- */
- function onPluginVersion(&$versions){
- $versions[] = array(
- 'name' => 'Direction detector',
- 'version' => DIRECTIONDETECTORPLUGIN_VERSION,
- 'author' => 'Behrooz Shabani',
- // TRANS: Direction detector plugin description.
- 'rawdescription' => _m('Shows notices with right-to-left content in correct direction.')
- );
- return true;
- }
+ /**
+ * plugin details
+ */
+ function onPluginVersion(&$versions){
+ $versions[] = array(
+ 'name' => 'Direction detector',
+ 'version' => DIRECTIONDETECTORPLUGIN_VERSION,
+ 'author' => 'Behrooz Shabani',
+ 'rawdescription' => _m('Shows notices with right-to-left content in correct direction.')
+ );
+ return true;
+ }
}
/*
diff --git a/plugins/DirectionDetector/jquery.DirectionDetector.js b/plugins/DirectionDetector/jquery.DirectionDetector.js
new file mode 100644
index 000000000..6808bcabd
--- /dev/null
+++ b/plugins/DirectionDetector/jquery.DirectionDetector.js
@@ -0,0 +1,61 @@
+
+/**
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Behrooz shabani (everplays) - <behrooz@rock.com>
+ * @copyright 2009-2010 Behrooz shabani
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ *
+ */
+
+(function($){
+ $.fn.isRTL = function(str){
+ if(typeof str != typeof "" || str.length<1)
+ return false;
+ var cc = str.charCodeAt(0);
+ if(cc>=1536 && cc<=1791) // arabic, persian, ...
+ return true;
+ if(cc>=65136 && cc<=65279) // arabic peresent 2
+ return true;
+ if(cc>=64336 && cc<=65023) // arabic peresent 1
+ return true;
+ if(cc>=1424 && cc<=1535) // hebrew
+ return true;
+ if(cc>=64256 && cc<=64335) // hebrew peresent
+ return true;
+ if(cc>=1792 && cc<=1871) // Syriac
+ return true;
+ if(cc>=1920 && cc<=1983) // Thaana
+ return true;
+ if(cc>=1984 && cc<=2047) // NKo
+ return true;
+ if(cc>=11568 && cc<=11647) // Tifinagh
+ return true;
+ return false;
+ };
+ $(document).ready(function(){
+ var tArea = $("#notice_data-text");
+ var tCleaner = new RegExp('@[^ ]+|![^ ]+|#[^ ]+|^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]+', 'g')
+ tArea.keyup(function(){
+ var cleaned = tArea.val().replace(tCleaner, '').replace(/^[ ]+/, '');
+ if($().isRTL(cleaned))
+ tArea.css('direction', 'rtl');
+ else
+ tArea.css('direction', 'ltr');
+ });
+ });
+})(jQuery);
diff --git a/plugins/DirectionDetector/locale/DirectionDetector.pot b/plugins/DirectionDetector/locale/DirectionDetector.pot
index d0199a040..995bc42ec 100644
--- a/plugins/DirectionDetector/locale/DirectionDetector.pot
+++ b/plugins/DirectionDetector/locale/DirectionDetector.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/DiskCachePlugin.php b/plugins/DiskCache/DiskCachePlugin.php
index b709ea3b3..47d4b153c 100644
--- a/plugins/DiskCachePlugin.php
+++ b/plugins/DiskCache/DiskCachePlugin.php
@@ -164,5 +164,15 @@ class DiskCachePlugin extends Plugin
Event::handle('EndCacheDelete', array($key));
return false;
}
-}
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'DiskCache',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:DiskCache',
+ 'rawdescription' =>
+ _m('Plugin to implement cache interface with disk files.'));
+ return true;
+ }
+}
diff --git a/plugins/DisqusPlugin.php b/plugins/Disqus/DisqusPlugin.php
index c07eaaabd..681be19dc 100644
--- a/plugins/DisqusPlugin.php
+++ b/plugins/Disqus/DisqusPlugin.php
@@ -68,7 +68,6 @@ if (!defined('STATUSNET')) {
*
* @see Event
*/
-
class DisqusPlugin extends Plugin
{
function onEndShowContentBlock($action)
@@ -106,6 +105,7 @@ ENDOFSCRIPT;
$action->elementStart('div', $attrs);
$action->elementStart('noscript');
+ // @todo FIXME: No i18n yet, because of bad implementation. Should be one string.
$action->raw('Please enable JavaScript to view the ');
$noscriptUrl = 'http://disqus.com/?ref_noscript=' . $this->shortname;
$action->element('a', array('href' => $noscriptUrl), 'comments powered by Disqus.');
diff --git a/plugins/Disqus/locale/Disqus.pot b/plugins/Disqus/locale/Disqus.pot
new file mode 100644
index 000000000..0f9ae44a5
--- /dev/null
+++ b/plugins/Disqus/locale/Disqus.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: DisqusPlugin.php:167
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
diff --git a/plugins/EchoPlugin.php b/plugins/Echo/EchoPlugin.php
index 7b51866eb..cd8d8c0e7 100644
--- a/plugins/EchoPlugin.php
+++ b/plugins/Echo/EchoPlugin.php
@@ -65,7 +65,6 @@ if (!defined('STATUSNET')) {
*
* @see Event
*/
-
class EchoPlugin extends Plugin
{
// NOTE: The Echo documentation says that this script will change on
diff --git a/plugins/Echo/locale/Echo.pot b/plugins/Echo/locale/Echo.pot
new file mode 100644
index 000000000..5f45d2a99
--- /dev/null
+++ b/plugins/Echo/locale/Echo.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: EchoPlugin.php:112
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
diff --git a/plugins/EmailAuthentication/EmailAuthenticationPlugin.php b/plugins/EmailAuthentication/EmailAuthenticationPlugin.php
index 4c018537b..689d6231d 100644
--- a/plugins/EmailAuthentication/EmailAuthenticationPlugin.php
+++ b/plugins/EmailAuthentication/EmailAuthenticationPlugin.php
@@ -34,7 +34,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
class EmailAuthenticationPlugin extends Plugin
{
//---interface implementation---//
-
function onStartCheckPassword($nickname, $password, &$authenticatedUser)
{
if(strpos($nickname, '@'))
@@ -62,4 +61,3 @@ class EmailAuthenticationPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/EmailAuthentication/locale/EmailAuthentication.pot b/plugins/EmailAuthentication/locale/EmailAuthentication.pot
index b0d096a49..469435c6b 100644
--- a/plugins/EmailAuthentication/locale/EmailAuthentication.pot
+++ b/plugins/EmailAuthentication/locale/EmailAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/Enjit/enjitqueuehandler.php b/plugins/Enjit/enjitqueuehandler.php
index 14085cc5e..56fc396d1 100644
--- a/plugins/Enjit/enjitqueuehandler.php
+++ b/plugins/Enjit/enjitqueuehandler.php
@@ -80,5 +80,4 @@ class EnjitQueueHandler extends QueueHandler
return $response->isOk();
}
-
}
diff --git a/plugins/Facebook/FBC_XDReceiver.php b/plugins/Facebook/FBC_XDReceiver.php
index 2bc790d5a..bf4b59bba 100644
--- a/plugins/Facebook/FBC_XDReceiver.php
+++ b/plugins/Facebook/FBC_XDReceiver.php
@@ -1,4 +1,7 @@
<?php
+/**
+ * @todo Add header and documentation
+ */
if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
@@ -13,13 +16,11 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
*/
class FBC_XDReceiverAction extends Action
{
-
/**
* Do we need to write to the database?
*
* @return boolean true
*/
-
function isReadonly()
{
return true;
@@ -32,7 +33,6 @@ class FBC_XDReceiverAction extends Action
*
* @return void
*/
-
function handle($args)
{
// Parent handling, including cache check
@@ -63,6 +63,4 @@ class FBC_XDReceiverAction extends Action
$this->elementEnd('html');
}
-
}
-
diff --git a/plugins/Facebook/FBConnectAuth.php b/plugins/Facebook/FBConnectAuth.php
index 8eba7fc13..f06dffaaa 100644
--- a/plugins/Facebook/FBConnectAuth.php
+++ b/plugins/Facebook/FBConnectAuth.php
@@ -60,12 +60,10 @@ class FBConnectauthAction extends Action
parent::handle($args);
if (common_is_real_login()) {
-
// User is already logged in. Does she already have a linked Facebook acct?
$flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_CONNECT_SERVICE);
if (!empty($flink)) {
-
// User already has a linked Facebook account and shouldn't be here
common_debug('Facebook Connect Plugin - ' .
'There is already a local user (' . $flink->user_id .
@@ -74,8 +72,7 @@ class FBConnectauthAction extends Action
// We don't want these cookies
getFacebook()->clear_cookie_state();
- $this->clientError(_m('There is already a local user linked with this Facebook.'));
-
+ $this->clientError(_m('There is already a local user linked with this Facebook account.'));
} else {
// User came from the Facebook connect settings tab, and
@@ -102,7 +99,7 @@ class FBConnectauthAction extends Action
} else {
common_debug('Facebook Connect Plugin - ' .
print_r($this->args, true));
- $this->showForm(_m('Something weird happened.'),
+ $this->showForm(_m('An unknown error has occured.'),
$this->trimmed('newname'));
}
} else {
@@ -116,12 +113,14 @@ class FBConnectauthAction extends Action
$this->element('div', array('class' => 'error'), $this->error);
} else {
$this->element('div', 'instructions',
+ // TRANS: %s is the site name.
sprintf(_m('This is the first time you\'ve logged into %s so we must connect your Facebook to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
}
}
function title()
{
+ // TRANS: Page title.
return _m('Facebook Account Setup');
}
@@ -155,6 +154,7 @@ class FBConnectauthAction extends Action
'class' => 'form_settings',
'action' => common_local_url('FBConnectAuth')));
$this->elementStart('fieldset', array('id' => 'settings_facebook_connect_options'));
+ // TRANS: Legend.
$this->element('legend', null, _m('Connection options'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
@@ -164,7 +164,8 @@ class FBConnectauthAction extends Action
'name' => 'license',
'value' => 'true'));
$this->elementStart('label', array('class' => 'checkbox', 'for' => 'license'));
- $message = _('My text and files are available under %s ' .
+ // TRANS: %s is the name of the license used by the user for their status updates.
+ $message = _m('My text and files are available under %s ' .
'except this private data: password, ' .
'email address, IM address, and phone number.');
$link = '<a href="' .
@@ -180,33 +181,39 @@ class FBConnectauthAction extends Action
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', null,
+ // TRANS: Legend.
_m('Create new account'));
$this->element('p', null,
_m('Create a new user with this nickname.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label.
$this->input('newname', _m('New nickname'),
($this->username) ? $this->username : '',
_m('1-64 lowercase letters or numbers, no punctuation or spaces'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('create', _m('Create'));
+ // TRANS: Submit button.
+ $this->submit('create', _m('BUTTON','Create'));
$this->elementEnd('fieldset');
$this->elementStart('fieldset');
+ // TRANS: Legend.
$this->element('legend', null,
_m('Connect existing account'));
$this->element('p', null,
_m('If you already have an account, login with your username and password to connect it to your Facebook.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label.
$this->input('nickname', _m('Existing nickname'));
$this->elementEnd('li');
$this->elementStart('li');
$this->password('password', _m('Password'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('connect', _m('Connect'));
+ // TRANS: Submit button.
+ $this->submit('connect', _m('BUTTON','Connect'));
$this->elementEnd('fieldset');
$this->elementEnd('fieldset');
@@ -222,6 +229,7 @@ class FBConnectauthAction extends Action
function createNewUser()
{
if (common_config('site', 'closed')) {
+ // TRANS: Client error trying to register with registrations not allowed.
$this->clientError(_m('Registration not allowed.'));
return;
}
@@ -231,6 +239,7 @@ class FBConnectauthAction extends Action
if (common_config('site', 'inviteonly')) {
$code = $_SESSION['invitecode'];
if (empty($code)) {
+ // TRANS: Client error trying to register with registrations 'invite only'.
$this->clientError(_m('Registration not allowed.'));
return;
}
@@ -238,6 +247,7 @@ class FBConnectauthAction extends Action
$invite = Invitation::staticGet($code);
if (empty($invite)) {
+ // TRANS: Client error trying to register with an invalid invitation code.
$this->clientError(_m('Not a valid invitation code.'));
return;
}
@@ -422,8 +432,9 @@ class FBConnectauthAction extends Action
return null;
}
- // Given a string, try to make it work as a nickname
-
+ /**
+ * Given a string, try to make it work as a nickname
+ */
function nicknamize($str)
{
$str = preg_replace('/\W/', '', $str);
@@ -467,5 +478,4 @@ class FBConnectauthAction extends Action
return null;
}
}
-
}
diff --git a/plugins/Facebook/FBConnectLogin.php b/plugins/Facebook/FBConnectLogin.php
index 20c409f3e..8345532db 100644
--- a/plugins/Facebook/FBConnectLogin.php
+++ b/plugins/Facebook/FBConnectLogin.php
@@ -38,6 +38,7 @@ class FBConnectLoginAction extends Action
function getInstructions()
{
+ // TRANS: Instructions.
return _m('Login with your Facebook Account');
}
@@ -52,6 +53,7 @@ class FBConnectLoginAction extends Action
function title()
{
+ // TRANS: Page title.
return _m('Facebook Login');
}
diff --git a/plugins/Facebook/FBConnectSettings.php b/plugins/Facebook/FBConnectSettings.php
index 590dffd8a..701994d0d 100644
--- a/plugins/Facebook/FBConnectSettings.php
+++ b/plugins/Facebook/FBConnectSettings.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class FBConnectSettingsAction extends ConnectSettingsAction
{
/**
@@ -50,9 +49,9 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return string Title of the page
*/
-
function title()
{
+ // TRANS: Page title.
return _m('Facebook Connect Settings');
}
@@ -61,9 +60,9 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return instructions for use
*/
-
function getInstructions()
{
+ // TRANS: Instructions.
return _m('Manage how your account connects to Facebook');
}
@@ -74,7 +73,6 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function showContent()
{
$user = common_current_user();
@@ -116,17 +114,21 @@ class FBConnectSettingsAction extends ConnectSettingsAction
$this->elementStart('fieldset');
+ // TRANS: Legend.
$this->element('legend', null, _m('Disconnect my account from Facebook'));
if (!$user->password) {
$this->elementStart('p', array('class' => 'form_guide'));
+ // @todo FIXME: Bad i18n. Patchwork message in three parts.
+ // TRANS: Followed by a link containing text "set a password".
$this->text(_m('Disconnecting your Faceboook ' .
'would make it impossible to log in! Please '));
$this->element('a',
array('href' => common_local_url('passwordsettings')),
+ // TRANS: Preceded by "Please " and followed by " first."
_m('set a password'));
-
+ // TRANS: Preceded by "Please set a password".
$this->text(_m(' first.'));
$this->elementEnd('p');
} else {
@@ -139,7 +141,8 @@ class FBConnectSettingsAction extends ConnectSettingsAction
$this->element('p', 'instructions',
sprintf($note, $site, $site));
- $this->submit('disconnect', _m('Disconnect'));
+ // TRANS: Submit button.
+ $this->submit('disconnect', _m('BUTTON','Disconnect'));
}
$this->elementEnd('fieldset');
@@ -155,7 +158,6 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function handlePost()
{
// CSRF protection
@@ -197,7 +199,5 @@ class FBConnectSettingsAction extends ConnectSettingsAction
$this->showForm(_m('Not sure what you\'re trying to do.'));
return;
}
-
}
-
}
diff --git a/plugins/Facebook/FacebookPlugin.php b/plugins/Facebook/FacebookPlugin.php
index 19989a952..798009817 100644
--- a/plugins/Facebook/FacebookPlugin.php
+++ b/plugins/Facebook/FacebookPlugin.php
@@ -45,10 +45,8 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class FacebookPlugin extends Plugin
{
-
const VERSION = STATUSNET_VERSION;
/**
@@ -59,7 +57,6 @@ class FacebookPlugin extends Plugin
{
// Allow the key and secret to be passed in
// Control panel will override
-
if (isset($this->apikey)) {
$key = common_config('facebook', 'apikey');
if (empty($key)) {
@@ -85,7 +82,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean result
*/
-
static function hasKeys()
{
$apiKey = common_config('facebook', 'apikey');
@@ -107,13 +103,11 @@ class FacebookPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onStartInitializeRouter($m)
{
$m->connect('admin/facebook', array('action' => 'facebookadminpanel'));
if (self::hasKeys()) {
-
// Facebook App stuff
$m->connect('facebook/app', array('action' => 'facebookhome'));
@@ -142,7 +136,6 @@ class FacebookPlugin extends Plugin
* @return boolean hook return
*
*/
-
function onAutoload($cls)
{
switch ($cls) {
@@ -183,7 +176,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onEndAdminPanelNav($nav)
{
if (AdminPanelAction::canAdmin('facebook')) {
@@ -192,7 +184,9 @@ class FacebookPlugin extends Plugin
$nav->out->menuItem(
common_local_url('facebookadminpanel'),
- _m('Facebook'),
+ // TRANS: Menu item.
+ _m('MENU','Facebook'),
+ // TRANS: Tooltip for menu item "Facebook".
_m('Facebook integration configuration'),
$action_name == 'facebookadminpanel',
'nav_facebook_admin_panel'
@@ -210,12 +204,9 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onStartShowHTML($action)
{
-
if ($this->reqFbScripts($action)) {
-
// XXX: Horrible hack to make Safari, FF2, and Chrome work with
// Facebook Connect. These browser cannot use Facebook's
// DOM parsing routines unless the mime type of the page is
@@ -238,9 +229,7 @@ class FacebookPlugin extends Plugin
'lang' => $language));
return false;
-
} else {
-
return true;
}
}
@@ -255,7 +244,6 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onEndShowScripts($action)
{
if ($this->reqFbScripts($action)) {
@@ -306,12 +294,10 @@ class FacebookPlugin extends Plugin
$js = sprintf($js, $apikey, $login_url, $logout_url);
// Compress the bugger down a bit
-
$js = str_replace(' ', '', $js);
$action->inlineScript($js);
}
-
}
/**
@@ -323,7 +309,6 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onEndShowFooter($action)
{
if ($this->reqFbScripts($action)) {
@@ -340,7 +325,6 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onEndShowStatusNetStyles($action)
{
if ($this->reqFbScripts($action)) {
@@ -357,7 +341,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean true
*/
-
function reqFbScripts($action)
{
if (!self::hasKeys()) {
@@ -365,7 +348,6 @@ class FacebookPlugin extends Plugin
}
// If you're logged in w/FB Connect, you always need the FB stuff
-
$fbuid = $this->loggedIn();
if (!empty($fbuid)) {
@@ -373,7 +355,6 @@ class FacebookPlugin extends Plugin
}
// List of actions that require FB stuff
-
$needy = array('FBConnectLoginAction',
'FBConnectauthAction',
'FBConnectSettingsAction');
@@ -383,7 +364,6 @@ class FacebookPlugin extends Plugin
}
return false;
-
}
/**
@@ -391,7 +371,6 @@ class FacebookPlugin extends Plugin
*
* @return mixed $fbuid the Facebook ID of the logged in user, or null
*/
-
function loggedIn()
{
$user = common_current_user();
@@ -403,12 +382,9 @@ class FacebookPlugin extends Plugin
$fbuid = 0;
if (!empty($flink)) {
-
try {
-
$facebook = getFacebook();
$fbuid = $facebook->get_loggedin_user();
-
} catch (Exception $e) {
common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
'Problem getting Facebook user: ' .
@@ -432,17 +408,14 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onStartPrimaryNav($action)
{
if (self::hasKeys()) {
$user = common_current_user();
if (!empty($user)) {
-
$fbuid = $this->loggedIn();
if (!empty($fbuid)) {
-
/* Default FB silhouette pic for FB users who haven't
uploaded a profile pic yet. */
@@ -455,7 +428,7 @@ class FacebookPlugin extends Plugin
$action->element('img', array('id' => 'fbc_profile-pic',
'src' => (!empty($url)) ? $url : $silhouetteUrl,
- 'alt' => 'Facebook Connect User',
+ 'alt' => _m('Facebook Connect User'),
'width' => '16'), '');
$iconurl = common_path('plugins/Facebook/fbfavicon.ico');
@@ -477,18 +450,20 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onEndLoginGroupNav(&$action)
{
if (self::hasKeys()) {
-
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('FBConnectLogin'),
- _m('Facebook'),
+ // @todo CHECKME: Should be 'Facebook Login'?
+ // TRANS: Menu item.
+ _m('MENU','Facebook'),
+ // TRANS: Tooltip for menu item "Facebook".
_m('Login or register using Facebook'),
'FBConnectLogin' === $action_name);
}
+
return true;
}
@@ -499,18 +474,20 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onEndConnectSettingsNav(&$action)
{
if (self::hasKeys()) {
-
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('FBConnectSettings'),
- _m('Facebook'),
+ // @todo CHECKME: Should be 'Facebook Connect'?
+ // TRANS: Menu item tab.
+ _m('MENU','Facebook'),
+ // TRANS: Tooltip for menu item "Facebook".
_m('Facebook Connect Settings'),
$action_name === 'FBConnectSettings');
}
+
return true;
}
@@ -521,7 +498,6 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onStartLogout($action)
{
if (self::hasKeys()) {
@@ -550,14 +526,12 @@ class FacebookPlugin extends Plugin
*
* @return string $url the url for the user's Facebook avatar
*/
-
function getProfilePicURL($fbuid)
{
$facebook = getFacebook();
$url = null;
try {
-
$fqry = 'SELECT pic_square FROM user WHERE uid = %s';
$result = $facebook->api_client->fql_query(sprintf($fqry, $fbuid));
@@ -582,7 +556,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onStartEnqueueNotice($notice, &$transports)
{
if (self::hasKeys() && $notice->isLocal()) {
@@ -613,14 +586,14 @@ class FacebookPlugin extends Plugin
'version' => self::VERSION,
'author' => 'Zach Copley',
'homepage' => 'http://status.net/wiki/Plugin:Facebook',
+ // TRANS: Plugin description.
'rawdescription' => _m(
- 'The Facebook plugin allows you to integrate ' .
- 'your StatusNet instance with ' .
+ 'The Facebook plugin allows integrating ' .
+ 'StatusNet instances with ' .
'<a href="http://facebook.com/">Facebook</a> ' .
'and Facebook Connect.'
)
);
return true;
}
-
}
diff --git a/plugins/Facebook/facebookaction.php b/plugins/Facebook/facebookaction.php
index f65b97c86..4c15fc039 100644
--- a/plugins/Facebook/facebookaction.php
+++ b/plugins/Facebook/facebookaction.php
@@ -36,7 +36,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebooknoticeform.php';
class FacebookAction extends Action
{
-
var $facebook = null;
var $fbuid = null;
var $flink = null;
@@ -102,7 +101,6 @@ class FacebookAction extends Action
*
* @return void
*/
-
function startHTML($type=null)
{
$this->showStylesheets();
@@ -143,7 +141,6 @@ class FacebookAction extends Action
function showHead($error, $success)
{
-
if ($error) {
$this->element("h1", null, $error);
}
@@ -168,7 +165,10 @@ class FacebookAction extends Action
$this->elementStart('li', array('class' =>
($this->action == 'facebookhome') ? 'current' : 'facebook_home'));
$this->element('a',
- array('href' => 'index.php', 'title' => _m('Home')), _m('Home'));
+ // TRANS: Link description for 'Home' link that leads to a start page.
+ array('href' => 'index.php', 'title' => _m('MENU','Home')),
+ // TRANS: Tooltip for 'Home' link that leads to a start page.
+ _m('Home'));
$this->elementEnd('li');
if (common_config('invite', 'enabled')) {
@@ -176,7 +176,10 @@ class FacebookAction extends Action
array('class' =>
($this->action == 'facebookinvite') ? 'current' : 'facebook_invite'));
$this->element('a',
- array('href' => 'invite.php', 'title' => _m('Invite')), _m('Invite'));
+ // TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+ array('href' => 'invite.php', 'title' => _m('MENU','Invite')),
+ // TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+ _m('Invite'));
$this->elementEnd('li');
}
@@ -185,7 +188,10 @@ class FacebookAction extends Action
($this->action == 'facebooksettings') ? 'current' : 'facebook_settings'));
$this->element('a',
array('href' => 'settings.php',
- 'title' => _m('Settings')), _m('Settings'));
+ // TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+ 'title' => _m('MENU','Settings')),
+ // TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+ _m('Settings'));
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -219,22 +225,22 @@ class FacebookAction extends Action
function showInstructions()
{
-
$this->elementStart('div', array('class' => 'facebook_guide'));
$this->elementStart('dl', array('class' => 'system_notice'));
$this->element('dt', null, 'Page Notice');
$loginmsg_part1 = _m('To use the %s Facebook Application you need to login ' .
- 'with your username and password. Don\'t have a username yet? ');
+ 'with your username and password. Don\'t have a username yet?');
$loginmsg_part2 = _m(' a new account.');
$this->elementStart('dd');
$this->elementStart('p');
$this->text(sprintf($loginmsg_part1, common_config('site', 'name')));
+ // @todo FIXME: Bad i18n. Patchwork message in two parts.
$this->element('a',
array('href' => common_local_url('register')), _m('Register'));
- $this->text($loginmsg_part2);
+ $this->text( " " . $loginmsg_part2);
$this->elementEnd('p');
$this->elementEnd('dd');
@@ -272,7 +278,8 @@ class FacebookAction extends Action
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('submit', _m('Login'));
+ // TRANS: Login button.
+ $this->submit('submit', _m('BUTTON','Login'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
@@ -283,7 +290,6 @@ class FacebookAction extends Action
$this->elementEnd('div');
$this->elementEnd('div');
-
}
function updateProfileBox($notice)
@@ -356,7 +362,6 @@ class FacebookAction extends Action
function saveNewNotice()
{
-
$user = $this->flink->getUser();
$content = $this->trimmed('status_textarea');
@@ -368,6 +373,7 @@ class FacebookAction extends Action
$content_shortened = common_shorten_links($content);
if (Notice::contentTooLong($content_shortened)) {
+ // @todo FIXME: i18n: Needs plural.
$this->showPage(sprintf(_m('That\'s too long. Max notice size is %d chars.'),
Notice::maxContent()));
return;
@@ -379,9 +385,7 @@ class FacebookAction extends Action
$cmd = $inter->handle_command($user, $content_shortened);
if ($cmd) {
-
// XXX fix this
-
$cmd->execute(new WebChannel());
return;
}
@@ -398,12 +402,10 @@ class FacebookAction extends Action
}
}
-
}
class FacebookNoticeList extends NoticeList
{
-
/**
* constructor
*
@@ -423,7 +425,6 @@ class FacebookNoticeList extends NoticeList
*
* @return int count of notices listed.
*/
-
function show()
{
$this->out->elementStart('div', array('id' =>'notices_primary'));
@@ -459,17 +460,14 @@ class FacebookNoticeList extends NoticeList
* @return FacebookNoticeListItem a list item for displaying the notice
* formatted for display in the Facebook App.
*/
-
function newListItem($notice)
{
return new FacebookNoticeListItem($notice, $this);
}
-
}
class FacebookNoticeListItem extends NoticeListItem
{
-
/**
* constructor
*
@@ -477,7 +475,6 @@ class FacebookNoticeListItem extends NoticeListItem
*
* @param Notice $notice The notice we'll display
*/
-
function __construct($notice, $out=null)
{
parent::__construct($notice, $out);
@@ -491,7 +488,6 @@ class FacebookNoticeListItem extends NoticeListItem
*
* @return void
*/
-
function show()
{
$this->showStart();
@@ -502,12 +498,10 @@ class FacebookNoticeListItem extends NoticeListItem
$this->showEnd();
}
-
}
class FacebookProfileBoxNotice extends FacebookNoticeListItem
{
-
/**
* constructor
*
@@ -515,7 +509,6 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
*
* @param Notice $notice The notice we'll display
*/
-
function __construct($notice, $out=null)
{
parent::__construct($notice, $out);
@@ -527,7 +520,6 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
*
* @return void
*/
-
function show()
{
$this->showNotice();
@@ -537,7 +529,6 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
function showAppLink()
{
-
$this->facebook = getFacebook();
$app_props = $this->facebook->api_client->Admin_getAppProperties(
@@ -551,5 +542,4 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
$this->out->text($this->app_name);
$this->out->elementEnd('a');
}
-
}
diff --git a/plugins/Facebook/facebookadminpanel.php b/plugins/Facebook/facebookadminpanel.php
index ae1c7302f..ae26c7d3e 100644
--- a/plugins/Facebook/facebookadminpanel.php
+++ b/plugins/Facebook/facebookadminpanel.php
@@ -40,7 +40,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 FacebookadminpanelAction extends AdminPanelAction
{
/**
@@ -48,7 +47,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return string page title
*/
-
function title()
{
return _m('Facebook');
@@ -59,7 +57,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
return _m('Facebook integration settings');
@@ -70,7 +67,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function showForm()
{
$form = new FacebookAdminPanelForm($this);
@@ -83,7 +79,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
static $settings = array(
@@ -100,7 +95,6 @@ class FacebookadminpanelAction extends AdminPanelAction
}
// This throws an exception on validation errors
-
$this->validate($values);
// assert(all values are valid);
@@ -145,7 +139,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'facebookadminpanel';
@@ -156,7 +149,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_settings';
@@ -167,7 +159,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('facebookadminpanel');
@@ -178,7 +169,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formData()
{
$this->out->elementStart(
@@ -215,9 +205,8 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save Facebook settings'));
+ $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save Facebook settings'));
}
}
diff --git a/plugins/Facebook/facebookhome.php b/plugins/Facebook/facebookhome.php
index 60782f63c..6090f988c 100644
--- a/plugins/Facebook/facebookhome.php
+++ b/plugins/Facebook/facebookhome.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookhomeAction extends FacebookAction
{
-
var $page = null;
function prepare($argarray)
@@ -54,7 +53,6 @@ class FacebookhomeAction extends FacebookAction
}
if ($this->flink) {
-
$this->user = $this->flink->getUser();
// If this is the first time the user has started the app
@@ -82,18 +80,14 @@ class FacebookhomeAction extends FacebookAction
// Facebook status update permission? Then show the main page
// of the app
$this->showPage();
-
} else {
-
// User hasn't authenticated yet, prompt for creds
$this->login();
}
-
}
function login()
{
-
$this->showStylesheets();
$nickname = common_canonical_nickname($this->trimmed('nickname'));
@@ -102,13 +96,11 @@ class FacebookhomeAction extends FacebookAction
$msg = null;
if ($nickname) {
-
if (common_check_user($nickname, $password)) {
-
$user = User::staticGet('nickname', $nickname);
if (!$user) {
- $this->showLoginForm(_m("Server error - couldn't get user!"));
+ $this->showLoginForm(_m("Server error: Couldn't get user!"));
}
$flink = DB_DataObject::factory('foreign_link');
@@ -126,7 +118,6 @@ class FacebookhomeAction extends FacebookAction
$this->getUpdatePermission();
return;
-
} else {
$msg = _m('Incorrect username or password.');
}
@@ -134,7 +125,6 @@ class FacebookhomeAction extends FacebookAction
$this->showLoginForm($msg);
$this->showFooter();
-
}
function setDefaults()
@@ -155,8 +145,15 @@ class FacebookhomeAction extends FacebookAction
function title()
{
if ($this->page > 1) {
- return sprintf(_m("%s and friends, page %d"), $this->user->nickname, $this->page);
+ // @todo FIXME: Core should have methods to get "Full name (nickname)" in a localised form
+ // so that this can be used consistenly throughout StatusNet without having to implement it
+ // over and over..
+ // TRANS: Page title.
+ // TRANS: %1$s is a user nickname, %2$s is a page number.
+ return sprintf(_m("%1$s and friends, page %2$d"), $this->user->nickname, $this->page);
} else {
+ // TRANS: Page title.
+ // TRANS: %s is a user nickname
return sprintf(_m("%s and friends"), $this->user->nickname);
}
}
@@ -175,17 +172,16 @@ class FacebookhomeAction extends FacebookAction
function showNoticeList($notice)
{
-
$nl = new NoticeList($notice, $this);
return $nl->show();
}
function getUpdatePermission() {
-
$this->showStylesheets();
$this->elementStart('div', array('class' => 'facebook_guide'));
+ // TRANS: Instructions. %s is the application name.
$instructions = sprintf(_m('If you would like the %s app to automatically update ' .
'your Facebook status with your latest notice, you need ' .
'to give it permission.'), $this->app_name);
@@ -209,6 +205,7 @@ class FacebookhomeAction extends FacebookAction
'&next_cancel=' . $next . '&submit=skip';
$this->elementStart('span', array('class' => 'facebook-button'));
+ // @todo FIXME: sprintf not needed here?
$this->element('a', array('href' => $auth_url),
sprintf(_m('Okay, do it!'), $this->app_name));
$this->elementEnd('span');
@@ -216,13 +213,13 @@ class FacebookhomeAction extends FacebookAction
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'fb-permissions-item'));
- $this->submit('skip', _m('Skip'));
+ // TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+ $this->submit('skip', _m('BUTTON','Skip'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('form');
$this->elementEnd('div');
-
}
/**
@@ -238,7 +235,6 @@ class FacebookhomeAction extends FacebookAction
*/
function pagination($have_before, $have_after, $page, $action, $args=null)
{
-
// Does a little before-after block for next/prev page
// XXX: Fix so this uses common_local_url() if possible.
@@ -254,6 +250,7 @@ class FacebookhomeAction extends FacebookAction
$newargs = $args ? array_merge($args, $pargs) : $pargs;
$this->elementStart('li', array('class' => 'nav_prev'));
$this->element('a', array('href' => "$action?page=$newargs[page]", 'rel' => 'prev'),
+ // TRANS: Pagination link.
_m('After'));
$this->elementEnd('li');
}
@@ -262,6 +259,7 @@ class FacebookhomeAction extends FacebookAction
$newargs = $args ? array_merge($args, $pargs) : $pargs;
$this->elementStart('li', array('class' => 'nav_next'));
$this->element('a', array('href' => "$action?page=$newargs[page]", 'rel' => 'next'),
+ // TRANS: Pagination link.
_m('Before'));
$this->elementEnd('li');
}
@@ -271,5 +269,4 @@ class FacebookhomeAction extends FacebookAction
$this->elementEnd('dl');
}
}
-
}
diff --git a/plugins/Facebook/facebookinvite.php b/plugins/Facebook/facebookinvite.php
index e02c7bf3e..a50eace12 100644
--- a/plugins/Facebook/facebookinvite.php
+++ b/plugins/Facebook/facebookinvite.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookinviteAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -41,7 +40,6 @@ class FacebookinviteAction extends FacebookAction
*
* @return void
*/
-
function showForm($error=null)
{
$this->error = $error;
@@ -56,7 +54,6 @@ class FacebookinviteAction extends FacebookAction
*
* @return void
*/
-
function showContent()
{
if ($this->arg('ids')) {
@@ -68,9 +65,10 @@ class FacebookinviteAction extends FacebookAction
function showSuccessContent()
{
-
- $this->element('h2', null, sprintf(_m('Thanks for inviting your friends to use %s'),
+ // TRANS: %s is the name of the site.
+ $this->element('h2', null, sprintf(_m('Thanks for inviting your friends to use %s.'),
common_config('site', 'name')));
+ // TRANS: Followed by an unordered list with invited friends.
$this->element('p', null, _m('Invitations have been sent to the following users:'));
$friend_ids = $_POST['ids']; // XXX: Hmm... is this the best way to access the list?
@@ -85,8 +83,7 @@ class FacebookinviteAction extends FacebookAction
$this->elementEnd('li');
}
- $this->elementEnd("ul");
-
+ $this->elementEnd('ul');
}
function showFormContent()
@@ -100,6 +97,7 @@ class FacebookinviteAction extends FacebookAction
'type' => common_config('site', 'name'),
'content' => $content));
$this->hidden('invite', 'true');
+ // TRANS: %s is the name of the site.
$actiontext = sprintf(_m('Invite your friends to use %s'), common_config('site', 'name'));
$multi_params = array('showborder' => 'false');
@@ -122,6 +120,7 @@ class FacebookinviteAction extends FacebookAction
if ($exclude_ids) {
+ // TRANS: %s is the name of the site.
$this->element('h2', null, sprintf(_m('Friends already using %s:'),
common_config('site', 'name')));
$this->elementStart('ul', array('id' => 'facebook-friends'));
@@ -140,7 +139,7 @@ class FacebookinviteAction extends FacebookAction
function title()
{
+ // TRANS: Page title.
return sprintf(_m('Send invitations'));
}
-
}
diff --git a/plugins/Facebook/facebooklogin.php b/plugins/Facebook/facebooklogin.php
index 7a173ddae..1961be57b 100644
--- a/plugins/Facebook/facebooklogin.php
+++ b/plugins/Facebook/facebooklogin.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookinviteAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -37,6 +36,7 @@ class FacebookinviteAction extends FacebookAction
$this->facebook->api_client->data_getUserPreference(
FACEBOOK_PROMPTED_UPDATE_PREF) == 'true') {
+ // @todo FIXME: Missing i18n?
echo '<h1>REDIRECT TO HOME</h1>';
}
} else {
@@ -46,7 +46,6 @@ class FacebookinviteAction extends FacebookAction
function showContent()
{
-
// If the user has opted not to initially allow the app to have
// Facebook status update permission, store that preference. Only
// promt the user the first time she uses the app
@@ -56,7 +55,6 @@ class FacebookinviteAction extends FacebookAction
}
if ($this->flink) {
-
$this->user = $this->flink->getUser();
// If this is the first time the user has started the app
@@ -69,7 +67,6 @@ class FacebookinviteAction extends FacebookAction
return;
}
}
-
} else {
$this->showLoginForm();
}
@@ -88,6 +85,8 @@ class FacebookinviteAction extends FacebookAction
function title()
{
+ // @todo FIXME: Give a more precise description? Suggestion: "Login with Facebook Connect"
+ // TRANS: Page title.
return sprintf(_m('Login'));
}
@@ -95,5 +94,4 @@ class FacebookinviteAction extends FacebookAction
{
}
-
}
diff --git a/plugins/Facebook/facebooknoticeform.php b/plugins/Facebook/facebooknoticeform.php
index 5989147f4..d52222c93 100644
--- a/plugins/Facebook/facebooknoticeform.php
+++ b/plugins/Facebook/facebooknoticeform.php
@@ -2,7 +2,7 @@
/**
* StatusNet, the distributed open-source microblogging tool
*
- * Form for posting a notice from within the Facebook App.
+ * Form for posting a notice from within the Facebook App.
*
* This is a stripped down version of the normal NoticeForm (sans
* location stuff and media upload stuff). I'm not sure we can share the
@@ -53,31 +53,26 @@ require_once INSTALLDIR . '/lib/form.php';
*
* @see HTMLOutputter
*/
-
class FacebookNoticeForm extends Form
{
/**
* Current action, used for returning to this page.
*/
-
var $action = null;
/**
* Pre-filled content of the form
*/
-
var $content = null;
/**
* The current user
*/
-
var $user = null;
/**
* The notice being replied to
*/
-
var $inreplyto = null;
/**
@@ -87,7 +82,6 @@ class FacebookNoticeForm extends Form
* @param string $action action to return to, if any
* @param string $content content to pre-fill
*/
-
function __construct($out=null, $action=null, $content=null, $post_action=null, $user=null, $inreplyto=null)
{
parent::__construct($out);
@@ -102,7 +96,7 @@ class FacebookNoticeForm extends Form
} else {
$this->user = common_current_user();
}
-
+
// Note: Facebook doesn't allow multipart/form-data posting to
// canvas pages, so don't try to set it--no file uploads, at
// least not this way. It can be done using multiple servers
@@ -114,7 +108,6 @@ class FacebookNoticeForm extends Form
*
* @return string ID of the form
*/
-
function id()
{
return 'form_notice';
@@ -125,7 +118,6 @@ class FacebookNoticeForm extends Form
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_notice';
@@ -136,7 +128,6 @@ class FacebookNoticeForm extends Form
*
* @return string URL of the action
*/
-
function action()
{
return $this->post_action;
@@ -149,7 +140,8 @@ class FacebookNoticeForm extends Form
*/
function formLegend()
{
- $this->out->element('legend', null, _('Send a notice'));
+ // TRANS: Legend.
+ $this->out->element('legend', null, _m('Send a notice'));
}
/**
@@ -157,12 +149,12 @@ class FacebookNoticeForm extends Form
*
* @return void
*/
-
function formData()
{
if (Event::handle('StartShowNoticeFormData', array($this))) {
$this->out->element('label', array('for' => 'notice_data-text'),
- sprintf(_('What\'s up, %s?'), $this->user->nickname));
+ // TRANS: Field label.
+ sprintf(_m('What\'s up, %s?'), $this->user->nickname));
// XXX: vary by defined max size
$this->out->element('textarea', array('id' => 'notice_data-text',
'cols' => 35,
@@ -174,7 +166,7 @@ class FacebookNoticeForm extends Form
if ($contentLimit > 0) {
$this->out->elementStart('dl', 'form_note');
- $this->out->element('dt', null, _('Available characters'));
+ $this->out->element('dt', null, _m('Available characters'));
$this->out->element('dd', array('id' => 'notice_text-count'),
$contentLimit);
$this->out->elementEnd('dl');
@@ -194,13 +186,13 @@ class FacebookNoticeForm extends Form
*
* @return void
*/
-
function formActions()
{
$this->out->element('input', array('id' => 'notice_action-submit',
'class' => 'submit',
'name' => 'status_submit',
'type' => 'submit',
- 'value' => _('Send')));
+ // TRANS: Button text.
+ 'value' => _m('BUTTON','Send')));
}
}
diff --git a/plugins/Facebook/facebookremove.php b/plugins/Facebook/facebookremove.php
index 09cb33342..b048a435f 100644
--- a/plugins/Facebook/facebookremove.php
+++ b/plugins/Facebook/facebookremove.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookremoveAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -65,5 +64,4 @@ class FacebookremoveAction extends FacebookAction
'unsuccessfully tried to remove a foreign link to Facebook!');
}
}
-
}
diff --git a/plugins/Facebook/facebooksettings.php b/plugins/Facebook/facebooksettings.php
index f94a346b5..1379b9a9c 100644
--- a/plugins/Facebook/facebooksettings.php
+++ b/plugins/Facebook/facebooksettings.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebooksettingsAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -40,7 +39,6 @@ class FacebooksettingsAction extends FacebookAction
*
* @return void
*/
-
function showContent()
{
if ($this->arg('save')) {
@@ -62,6 +60,7 @@ class FacebooksettingsAction extends FacebookAction
if ($result === false) {
$this->showForm(_m('There was a problem saving your sync preferences!'));
} else {
+ // TRANS: Confirmation that synchronisation settings have been saved into the system.
$this->showForm(_m('Sync preferences saved.'), true);
}
}
@@ -99,16 +98,16 @@ class FacebooksettingsAction extends FacebookAction
$this->elementStart('li');
- $this->submit('save', _m('Save'));
+ // TRANS: Submit button to save synchronisation settings.
+ $this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('form');
-
} else {
-
+ // TRANS: %s is the application name.
$instructions = sprintf(_m('If you would like %s to automatically update ' .
'your Facebook status with your latest notice, you need ' .
'to give it permission.'), $this->app_name);
@@ -127,12 +126,11 @@ class FacebooksettingsAction extends FacebookAction
$this->elementEnd('li');
$this->elementEnd('ul');
}
-
}
function title()
{
+ // TRANS: Page title for synchronisation settings.
return _m('Sync preferences');
}
-
}
diff --git a/plugins/Facebook/facebookutil.php b/plugins/Facebook/facebookutil.php
index 1290fed55..e78856f7c 100644
--- a/plugins/Facebook/facebookutil.php
+++ b/plugins/Facebook/facebookutil.php
@@ -45,13 +45,11 @@ function getFacebook()
}
function isFacebookBound($notice, $flink) {
-
if (empty($flink)) {
return false;
}
// Avoid a loop
-
if ($notice->source == 'Facebook') {
common_log(LOG_INFO, "Skipping notice $notice->id because its " .
'source is Facebook.');
@@ -59,7 +57,6 @@ function isFacebookBound($notice, $flink) {
}
// If the user does not want to broadcast to Facebook, move along
-
if (!($flink->noticesync & FOREIGN_NOTICE_SEND == FOREIGN_NOTICE_SEND)) {
common_log(LOG_INFO, "Skipping notice $notice->id " .
'because user has FOREIGN_NOTICE_SEND bit off.');
@@ -68,14 +65,12 @@ function isFacebookBound($notice, $flink) {
// If it's not a reply, or if the user WANTS to send @-replies,
// then, yeah, it can go to Facebook.
-
if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) {
return true;
}
return false;
-
}
function facebookBroadcastNotice($notice)
@@ -87,16 +82,12 @@ function facebookBroadcastNotice($notice)
);
if (isFacebookBound($notice, $flink)) {
-
// Okay, we're good to go, update the FB status
-
$fbuid = $flink->foreign_id;
$user = $flink->getUser();
try {
-
// Check permissions
-
common_debug(
'FacebookPlugin - checking for publish_stream permission for user '
. "$user->nickname ($user->id), Facebook UID: $fbuid"
@@ -105,7 +96,6 @@ function facebookBroadcastNotice($notice)
// NOTE: $facebook->api_client->users_hasAppPermission('publish_stream', $fbuid)
// has been returning bogus results, so we're using FQL to check for
// publish_stream permission now
-
$fql = "SELECT publish_stream FROM permissions WHERE uid = $fbuid";
$result = $facebook->api_client->fql_query($fql);
@@ -152,7 +142,6 @@ function facebookBroadcastNotice($notice)
}
// Post to Facebook
-
if ($notice->hasAttachments() && $canPublish == 1) {
publishStream($notice, $user, $fbuid);
} elseif ($canUpdate == 1 || $canPublish == 1) {
@@ -165,7 +154,6 @@ function facebookBroadcastNotice($notice)
}
// Finally, attempt to update the user's profile box
-
if ($canPublish == 1 || $canUpdate == 1) {
updateProfileBox($facebook, $flink, $notice, $user);
}
@@ -412,7 +400,6 @@ function remove_facebook_app($flink)
common_log(LOG_WARNING, $msg);
}
-
}
/**
@@ -423,7 +410,6 @@ function remove_facebook_app($flink)
*
* @return boolean success flag
*/
-
function mail_facebook_app_removed($user)
{
$profile = $user->getProfile();
@@ -447,5 +433,4 @@ function mail_facebook_app_removed($user)
common_switch_locale();
return mail_to_user($user, $subject, $body);
-
}
diff --git a/plugins/Facebook/locale/Facebook.pot b/plugins/Facebook/locale/Facebook.pot
index 14bd372d6..e6215df01 100644
--- a/plugins/Facebook/locale/Facebook.pot
+++ b/plugins/Facebook/locale/Facebook.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: facebookutil.php:439
+#: facebookutil.php:425
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that we are unable to update your "
@@ -35,23 +35,24 @@ msgstr ""
msgid "You must be logged into Facebook to use Facebook Connect."
msgstr ""
-#: FBConnectAuth.php:77
-msgid "There is already a local user linked with this Facebook."
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
msgstr ""
-#: FBConnectAuth.php:90 FBConnectSettings.php:164
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: FBConnectAuth.php:95
+#: FBConnectAuth.php:92
msgid "You can't register if you don't agree to the license."
msgstr ""
-#: FBConnectAuth.php:105
-msgid "Something weird happened."
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
msgstr ""
-#: FBConnectAuth.php:119
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
#, php-format
msgid ""
"This is the first time you've logged into %s so we must connect your "
@@ -59,357 +60,469 @@ msgid ""
"with your existing account, if you have one."
msgstr ""
-#: FBConnectAuth.php:125
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
msgid "Facebook Account Setup"
msgstr ""
+#. TRANS: Legend.
#: FBConnectAuth.php:158
msgid "Connection options"
msgstr ""
-#: FBConnectAuth.php:183
-msgid "Create new account"
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
msgstr ""
+#. TRANS: Legend.
#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr ""
+
+#: FBConnectAuth.php:187
msgid "Create a new user with this nickname."
msgstr ""
-#: FBConnectAuth.php:188
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
msgid "New nickname"
msgstr ""
-#: FBConnectAuth.php:190
+#: FBConnectAuth.php:193
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: FBConnectAuth.php:193
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
msgid "Create"
msgstr ""
-#: FBConnectAuth.php:198
+#: FBConnectAuth.php:203
msgid "Connect existing account"
msgstr ""
-#: FBConnectAuth.php:200
+#: FBConnectAuth.php:205
msgid ""
"If you already have an account, login with your username and password to "
"connect it to your Facebook."
msgstr ""
-#: FBConnectAuth.php:203
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
msgid "Existing nickname"
msgstr ""
-#: FBConnectAuth.php:206 facebookaction.php:271
+#: FBConnectAuth.php:212 facebookaction.php:277
msgid "Password"
msgstr ""
-#: FBConnectAuth.php:209
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
msgid "Connect"
msgstr ""
-#: FBConnectAuth.php:225 FBConnectAuth.php:234
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
msgid "Registration not allowed."
msgstr ""
-#: FBConnectAuth.php:241
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
msgid "Not a valid invitation code."
msgstr ""
-#: FBConnectAuth.php:251
+#: FBConnectAuth.php:261
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: FBConnectAuth.php:256
+#: FBConnectAuth.php:266
msgid "Nickname not allowed."
msgstr ""
-#: FBConnectAuth.php:261
+#: FBConnectAuth.php:271
msgid "Nickname already in use. Try another one."
msgstr ""
-#: FBConnectAuth.php:279 FBConnectAuth.php:313 FBConnectAuth.php:333
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
msgid "Error connecting user to Facebook."
msgstr ""
-#: FBConnectAuth.php:299
+#: FBConnectAuth.php:309
msgid "Invalid username or password."
msgstr ""
-#: facebooklogin.php:91 facebookaction.php:249 facebookaction.php:275
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
msgid "Login"
msgstr ""
-#: facebookhome.php:111
-msgid "Server error - couldn't get user!"
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
msgstr ""
-#: facebookhome.php:131
-msgid "Incorrect username or password."
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
msgstr ""
-#: facebookhome.php:158
-#, php-format
-msgid "%s and friends, page %d"
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr ""
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
msgstr ""
-#: facebookhome.php:160
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr ""
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr ""
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
#, php-format
msgid "%s and friends"
msgstr ""
-#: facebookhome.php:189
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
#, php-format
msgid ""
"If you would like the %s app to automatically update your Facebook status "
"with your latest notice, you need to give it permission."
msgstr ""
-#: facebookhome.php:213
+#: facebookhome.php:210
msgid "Okay, do it!"
msgstr ""
-#: facebookhome.php:219
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
msgid "Skip"
msgstr ""
-#: facebookhome.php:248 facebookaction.php:330
+#: facebookhome.php:244 facebookaction.php:336
msgid "Pagination"
msgstr ""
-#: facebookhome.php:257 facebookaction.php:339
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
msgid "After"
msgstr ""
-#: facebookhome.php:265 facebookaction.php:347
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
msgid "Before"
msgstr ""
-#: facebookinvite.php:72
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
#, php-format
-msgid "Thanks for inviting your friends to use %s"
+msgid "Thanks for inviting your friends to use %s."
msgstr ""
-#: facebookinvite.php:74
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
msgid "Invitations have been sent to the following users:"
msgstr ""
-#: facebookinvite.php:94
+#: facebookinvite.php:91
#, php-format
msgid "You have been invited to %s"
msgstr ""
-#: facebookinvite.php:103
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
#, php-format
msgid "Invite your friends to use %s"
msgstr ""
-#: facebookinvite.php:125
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
#, php-format
msgid "Friends already using %s:"
msgstr ""
+#. TRANS: Page title.
#: facebookinvite.php:143
msgid "Send invitations"
msgstr ""
-#: FacebookPlugin.php:195 FacebookPlugin.php:488 FacebookPlugin.php:510
-#: facebookadminpanel.php:54
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
msgid "Facebook"
msgstr ""
-#: FacebookPlugin.php:196
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
msgid "Facebook integration configuration"
msgstr ""
-#: FacebookPlugin.php:489
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
msgid "Login or register using Facebook"
msgstr ""
-#: FacebookPlugin.php:511 FBConnectSettings.php:56
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
msgid "Facebook Connect Settings"
msgstr ""
-#: FacebookPlugin.php:617
+#: FacebookPlugin.php:591
msgid ""
-"The Facebook plugin allows you to integrate your StatusNet instance with <a "
-"href=\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
msgstr ""
#: FBConnectLogin.php:33
msgid "Already logged in."
msgstr ""
-#: FBConnectLogin.php:41
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
msgid "Login with your Facebook Account"
msgstr ""
-#: FBConnectLogin.php:55
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
msgid "Facebook Login"
msgstr ""
-#: facebookremove.php:58
+#: facebookremove.php:57
msgid "Couldn't remove Facebook user."
msgstr ""
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr ""
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
#: facebookaction.php:171
msgid "Home"
msgstr ""
-#: facebookaction.php:179
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr ""
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
msgid "Invite"
msgstr ""
-#: facebookaction.php:188
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr ""
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
msgid "Settings"
msgstr ""
-#: facebookaction.php:228
+#: facebookaction.php:233
#, php-format
msgid ""
"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet? "
+"password. Don't have a username yet?"
msgstr ""
-#: facebookaction.php:230
+#: facebookaction.php:235
msgid " a new account."
msgstr ""
-#: facebookaction.php:236
+#: facebookaction.php:242
msgid "Register"
msgstr ""
-#: facebookaction.php:268
+#: facebookaction.php:274
msgid "Nickname"
msgstr ""
-#: facebookaction.php:281
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr ""
+
+#: facebookaction.php:288
msgid "Lost or forgotten password?"
msgstr ""
-#: facebookaction.php:365
+#: facebookaction.php:370
msgid "No notice content!"
msgstr ""
-#: facebookaction.php:371
+#: facebookaction.php:377
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: facebookaction.php:430
+#: facebookaction.php:431
msgid "Notices"
msgstr ""
-#: facebookadminpanel.php:65
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:62
msgid "Facebook integration settings"
msgstr ""
-#: facebookadminpanel.php:129
+#: facebookadminpanel.php:123
msgid "Invalid Facebook API key. Max length is 255 characters."
msgstr ""
-#: facebookadminpanel.php:135
+#: facebookadminpanel.php:129
msgid "Invalid Facebook API secret. Max length is 255 characters."
msgstr ""
-#: facebookadminpanel.php:188
+#: facebookadminpanel.php:178
msgid "Facebook application settings"
msgstr ""
-#: facebookadminpanel.php:194
+#: facebookadminpanel.php:184
msgid "API key"
msgstr ""
-#: facebookadminpanel.php:195
+#: facebookadminpanel.php:185
msgid "API key provided by Facebook"
msgstr ""
-#: facebookadminpanel.php:203
+#: facebookadminpanel.php:193
msgid "Secret"
msgstr ""
-#: facebookadminpanel.php:204
+#: facebookadminpanel.php:194
msgid "API secret provided by Facebook"
msgstr ""
-#: FBConnectSettings.php:67
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
msgid "Manage how your account connects to Facebook"
msgstr ""
-#: FBConnectSettings.php:92
+#: FBConnectSettings.php:90
msgid "There is no Facebook user connected to this account."
msgstr ""
-#: FBConnectSettings.php:100
+#: FBConnectSettings.php:98
msgid "Connected Facebook user"
msgstr ""
-#: FBConnectSettings.php:119
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
msgid "Disconnect my account from Facebook"
msgstr ""
-#: FBConnectSettings.php:124
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
msgid ""
"Disconnecting your Faceboook would make it impossible to log in! Please "
msgstr ""
-#: FBConnectSettings.php:128
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
msgid "set a password"
msgstr ""
-#: FBConnectSettings.php:130
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
msgid " first."
msgstr ""
-#: FBConnectSettings.php:142
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
msgid "Disconnect"
msgstr ""
-#: FBConnectSettings.php:178
+#: FBConnectSettings.php:180
msgid "Couldn't delete link to Facebook."
msgstr ""
-#: FBConnectSettings.php:194
+#: FBConnectSettings.php:196
msgid "You have disconnected from Facebook."
msgstr ""
-#: FBConnectSettings.php:197
+#: FBConnectSettings.php:199
msgid "Not sure what you're trying to do."
msgstr ""
-#: facebooksettings.php:63
+#: facebooksettings.php:61
msgid "There was a problem saving your sync preferences!"
msgstr ""
-#: facebooksettings.php:65
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
msgid "Sync preferences saved."
msgstr ""
-#: facebooksettings.php:88
+#: facebooksettings.php:87
msgid "Automatically update my Facebook status with my notices."
msgstr ""
-#: facebooksettings.php:95
+#: facebooksettings.php:94
msgid "Send \"@\" replies to Facebook."
msgstr ""
+#. TRANS: Submit button to save synchronisation settings.
#: facebooksettings.php:102
+msgctxt "BUTTON"
msgid "Save"
msgstr ""
-#: facebooksettings.php:112
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
#, php-format
msgid ""
"If you would like %s to automatically update your Facebook status with your "
"latest notice, you need to give it permission."
msgstr ""
-#: facebooksettings.php:125
+#: facebooksettings.php:124
#, php-format
msgid "Allow %s to update my Facebook status"
msgstr ""
-#: facebooksettings.php:135
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
msgid "Sync preferences"
msgstr ""
diff --git a/plugins/FirePHP/FirePHPPlugin.php b/plugins/FirePHP/FirePHPPlugin.php
index d984ec1af..27f760c81 100644
--- a/plugins/FirePHP/FirePHPPlugin.php
+++ b/plugins/FirePHP/FirePHPPlugin.php
@@ -69,4 +69,3 @@ class FirePHPPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/FirePHP/locale/FirePHP.pot b/plugins/FirePHP/locale/FirePHP.pot
index c4b10a499..ebcc8d3fe 100644
--- a/plugins/FirePHP/locale/FirePHP.pot
+++ b/plugins/FirePHP/locale/FirePHP.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/GeoURLPlugin.php b/plugins/GeoURL/GeoURLPlugin.php
index 01178f39c..91da81a5a 100644
--- a/plugins/GeoURLPlugin.php
+++ b/plugins/GeoURL/GeoURLPlugin.php
@@ -46,7 +46,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class GeoURLPlugin extends Plugin
{
public $ping = 'http://geourl.org/ping/';
@@ -58,7 +57,6 @@ class GeoURLPlugin extends Plugin
*
* @return boolean event handler flag
*/
-
function onEndShowHeadElements($action)
{
$name = $action->trimmed('action');
@@ -94,7 +92,6 @@ class GeoURLPlugin extends Plugin
*
* @return boolean event handler flag
*/
-
function onHandleQueuedNotice(&$notice)
{
if ($notice->is_local == 1) {
diff --git a/plugins/GeoURL/locale/GeoURL.pot b/plugins/GeoURL/locale/GeoURL.pot
new file mode 100644
index 000000000..3bc63b851
--- /dev/null
+++ b/plugins/GeoURL/locale/GeoURL.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: GeoURLPlugin.php:127
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
diff --git a/plugins/GeonamesPlugin.php b/plugins/Geonames/GeonamesPlugin.php
index 3815a31fa..310641ce6 100644
--- a/plugins/GeonamesPlugin.php
+++ b/plugins/Geonames/GeonamesPlugin.php
@@ -46,7 +46,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class GeonamesPlugin extends Plugin
{
const LOCATION_NS = 1;
@@ -71,7 +70,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue (results in $location)
*/
-
function onLocationFromName($name, $language, &$location)
{
$loc = $this->getCache(array('name' => $name,
@@ -129,7 +127,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue (results in $location)
*/
-
function onLocationFromId($id, $ns, $language, &$location)
{
if ($ns != self::LOCATION_NS) {
@@ -198,7 +195,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue (results in $location)
*/
-
function onLocationFromLatLon($lat, $lon, $language, &$location)
{
// Make sure they're canonical
@@ -276,7 +272,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue
*/
-
function onLocationNameLanguage($location, $language, &$name)
{
if ($location->location_ns != self::LOCATION_NS) {
@@ -344,7 +339,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue
*/
-
function onLocationUrl($location, &$url)
{
if ($location->location_ns != self::LOCATION_NS) {
@@ -368,7 +362,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue
*/
-
function onLocationRdfUrl($location, &$url)
{
if ($location->location_ns != self::LOCATION_NS) {
diff --git a/plugins/Geonames/locale/Geonames.pot b/plugins/Geonames/locale/Geonames.pot
new file mode 100644
index 000000000..1d91af301
--- /dev/null
+++ b/plugins/Geonames/locale/Geonames.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: GeonamesPlugin.php:498
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
diff --git a/plugins/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php
index c646bf113..bb937ec5b 100644
--- a/plugins/GoogleAnalyticsPlugin.php
+++ b/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
*
* @see Event
*/
-
class GoogleAnalyticsPlugin extends Plugin
{
var $code = null;
@@ -79,7 +78,7 @@ class GoogleAnalyticsPlugin extends Plugin
'homepage' => 'http://status.net/wiki/Plugin:GoogleAnalytics',
'rawdescription' =>
_m('Use <a href="http://www.google.com/analytics/">Google Analytics</a>'.
- ' to track Web access.'));
+ ' to track web access.'));
return true;
}
}
diff --git a/plugins/GoogleAnalytics/locale/GoogleAnalytics.pot b/plugins/GoogleAnalytics/locale/GoogleAnalytics.pot
new file mode 100644
index 000000000..111eee88e
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/GoogleAnalytics.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
diff --git a/plugins/Gravatar/GravatarPlugin.php b/plugins/Gravatar/GravatarPlugin.php
index 8a9721ea9..dd8ff7217 100644
--- a/plugins/Gravatar/GravatarPlugin.php
+++ b/plugins/Gravatar/GravatarPlugin.php
@@ -34,17 +34,17 @@ class GravatarPlugin extends Plugin
{
return true;
}
-
+
function onStartAvatarFormData($action)
{
$user = common_current_user();
$hasGravatar = $this->hasGravatar($user->id);
-
+
if($hasGravatar) {
return false;
}
}
-
+
function onEndAvatarFormData($action)
{
$user = common_current_user();
@@ -91,7 +91,7 @@ class GravatarPlugin extends Plugin
_m('To use a Gravatar first enter in an email address.'));
}
}
-
+
function onStartAvatarSaveForm($action)
{
if ($action->arg('add')) {
@@ -131,19 +131,18 @@ class GravatarPlugin extends Plugin
}
return false;
}
-
function gravatar_save()
{
$cur = common_current_user();
-
+
if(empty($cur->email)) {
- return array('message' => _m('You do not have a email set in your profile.'),
+ return array('message' => _m('You do not have an email address set in your profile.'),
'success' => false);
}
//Get rid of previous Avatar
$this->gravatar_remove();
-
+
foreach (array(AVATAR_PROFILE_SIZE, AVATAR_STREAM_SIZE, AVATAR_MINI_SIZE) as $size) {
$gravatar = new Avatar();
$gravatar->profile_id = $cur->id;
@@ -156,7 +155,7 @@ class GravatarPlugin extends Plugin
$gravatar->created = DB_DataObject_Cast::dateTime(); # current time
if (!$gravatar->insert()) {
- return array('message' => _m('Failed to save Gravatar to the DB.'),
+ return array('message' => _m('Failed to save Gravatar to the database.'),
'success' => false);
}
}
@@ -181,7 +180,7 @@ class GravatarPlugin extends Plugin
return array('message' => _m('Gravatar removed.'),
'success' => true);
}
-
+
function gravatar_url($email, $size)
{
$url = "http://www.gravatar.com/avatar.php?gravatar_id=".
@@ -202,4 +201,4 @@ class GravatarPlugin extends Plugin
return true;
}
-} \ No newline at end of file
+}
diff --git a/plugins/Gravatar/README b/plugins/Gravatar/README
index 9337e24a0..263904808 100644
--- a/plugins/Gravatar/README
+++ b/plugins/Gravatar/README
@@ -10,4 +10,4 @@ addPlugin('Gravatar', array());
ToDo:
Site default all on for gravatar by default
Migration Script
-Localize \ No newline at end of file
+Localize
diff --git a/plugins/Gravatar/locale/Gravatar.pot b/plugins/Gravatar/locale/Gravatar.pot
index 9a71b8166..fda09b797 100644
--- a/plugins/Gravatar/locale/Gravatar.pot
+++ b/plugins/Gravatar/locale/Gravatar.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -45,11 +45,11 @@ msgid "To use a Gravatar first enter in an email address."
msgstr ""
#: GravatarPlugin.php:141
-msgid "You do not have a email set in your profile."
+msgid "You do not have an email address set in your profile."
msgstr ""
#: GravatarPlugin.php:159
-msgid "Failed to save Gravatar to the DB."
+msgid "Failed to save Gravatar to the database."
msgstr ""
#: GravatarPlugin.php:163
diff --git a/plugins/Imap/ImapPlugin.php b/plugins/Imap/ImapPlugin.php
index 66be799d3..1661ed86e 100644
--- a/plugins/Imap/ImapPlugin.php
+++ b/plugins/Imap/ImapPlugin.php
@@ -51,16 +51,16 @@ class ImapPlugin extends Plugin
function initialize(){
if(!isset($this->mailbox)){
- throw new Exception("must specify a mailbox");
+ throw new Exception(_m("A mailbox must be specified."));
}
if(!isset($this->user)){
- throw new Exception("must specify a user");
+ throw new Exception(_m("A user must be specified.");
}
if(!isset($this->password)){
- throw new Exception("must specify a password");
+ throw new Exception(_m("A password must be specified."));
}
if(!isset($this->poll_frequency)){
- throw new Exception("must specify a poll_frequency");
+ throw new Exception(_m("A poll_frequency must be specified."));
}
return true;
diff --git a/plugins/Imap/imapmanager.php b/plugins/Imap/imapmanager.php
index 0bbd42e78..e2f8c6d54 100644
--- a/plugins/Imap/imapmanager.php
+++ b/plugins/Imap/imapmanager.php
@@ -44,7 +44,7 @@ class ImapManager extends IoManager
*/
public static function get()
{
- throw new Exception('ImapManager should be created using it\'s constructor, not the static get method');
+ throw new Exception(_m('ImapManager should be created using its constructor, not the using the static get method.'));
}
/**
@@ -92,12 +92,12 @@ class ImapManager extends IoManager
{
return $this->check_mailbox() > 0;
}
-
+
function pollInterval()
{
return $this->plugin->poll_frequency;
}
-
+
protected function connect()
{
$this->conn = imap_open($this->plugin->mailbox, $this->plugin->user, $this->plugin->password);
diff --git a/plugins/Imap/locale/Imap.pot b/plugins/Imap/locale/Imap.pot
index 9d807a3d3..1f7497446 100644
--- a/plugins/Imap/locale/Imap.pot
+++ b/plugins/Imap/locale/Imap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,6 +20,22 @@ msgstr ""
msgid "Error"
msgstr ""
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr ""
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr ""
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr ""
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr ""
+
#: ImapPlugin.php:103
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
diff --git a/plugins/InfiniteScroll/locale/InfiniteScroll.pot b/plugins/InfiniteScroll/locale/InfiniteScroll.pot
index 52f9ef1ea..b1af9664f 100644
--- a/plugins/InfiniteScroll/locale/InfiniteScroll.pot
+++ b/plugins/InfiniteScroll/locale/InfiniteScroll.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/LdapAuthentication/locale/LdapAuthentication.pot b/plugins/LdapAuthentication/locale/LdapAuthentication.pot
index ce84cbf0e..d40dd5ebd 100644
--- a/plugins/LdapAuthentication/locale/LdapAuthentication.pot
+++ b/plugins/LdapAuthentication/locale/LdapAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/LdapAuthorization/locale/LdapAuthorization.pot b/plugins/LdapAuthorization/locale/LdapAuthorization.pot
index 11e7fc5c8..60a7106f9 100644
--- a/plugins/LdapAuthorization/locale/LdapAuthorization.pot
+++ b/plugins/LdapAuthorization/locale/LdapAuthorization.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/LdapCommon/LdapCommon.php b/plugins/LdapCommon/LdapCommon.php
index 1f1647a75..7dea1f0ed 100644
--- a/plugins/LdapCommon/LdapCommon.php
+++ b/plugins/LdapCommon/LdapCommon.php
@@ -60,13 +60,13 @@ class LdapCommon
$this->ldap_config = $this->get_ldap_config();
if(!isset($this->host)){
- throw new Exception("must specify a host");
+ throw new Exception(_m("A host must be specified."));
}
if(!isset($this->basedn)){
- throw new Exception("must specify a basedn");
+ throw new Exception(_m('"basedn" must be specified.'));
}
if(!isset($this->attributes['username'])){
- throw new Exception("username attribute must be set.");
+ throw new Exception(_m('The username attribute must be set.'));
}
}
@@ -173,7 +173,7 @@ class LdapCommon
$ldap = $this->get_ldap_connection($config);
$entry = $this->get_user($username,array(),$ldap);
-
+
$newCryptedPassword = $this->hashPassword($newpassword, $this->password_encoding);
if ($newCryptedPassword===false) {
return false;
@@ -254,15 +254,14 @@ class LdapCommon
* @return string The hashed password.
*
*/
-
- function hashPassword( $passwordClear, $encodageType )
+ function hashPassword( $passwordClear, $encodageType )
{
$encodageType = strtolower( $encodageType );
switch( $encodageType ) {
- case 'crypt':
- $cryptedPassword = '{CRYPT}' . crypt($passwordClear,$this->randomSalt(2));
+ case 'crypt':
+ $cryptedPassword = '{CRYPT}' . crypt($passwordClear,$this->randomSalt(2));
break;
-
+
case 'ext_des':
// extended des crypt. see OpenBSD crypt man page.
if ( ! defined( 'CRYPT_EXT_DES' ) || CRYPT_EXT_DES == 0 ) {return FALSE;} //Your system crypt library does not support extended DES encryption.
@@ -345,8 +344,7 @@ class LdapCommon
* @param int $length The length of the salt string to generate.
* @return string The generated salt string.
*/
-
- function randomSalt( $length )
+ function randomSalt( $length )
{
$possible = '0123456789'.
'abcdefghijklmnopqrstuvwxyz'.
@@ -360,10 +358,8 @@ class LdapCommon
return $str;
}
-
}
class LdapInvalidCredentialsException extends Exception
{
-
}
diff --git a/plugins/LdapCommon/MemcacheSchemaCache.php b/plugins/LdapCommon/MemcacheSchemaCache.php
index 4ee2e8e16..960164fd3 100644
--- a/plugins/LdapCommon/MemcacheSchemaCache.php
+++ b/plugins/LdapCommon/MemcacheSchemaCache.php
@@ -1,5 +1,5 @@
<?php
-/**
+/**
* StatusNet, the distributed open-source microblogging tool
*
* Cache the LDAP schema in memcache to improve performance
@@ -32,14 +32,14 @@ class MemcacheSchemaCache implements Net_LDAP2_SchemaCache
protected $cacheKey;
/**
- * Initialize the simple cache
- *
- * Config is as following:
- * memcache memcache instance
- * cachekey the key in the cache to look at
- *
- * @param array $cfg Config array
- */
+ * Initialize the simple cache
+ *
+ * Config is as following:
+ * memcache memcache instance
+ * cachekey the key in the cache to look at
+ *
+ * @param array $cfg Config array
+ */
public function MemcacheSchemaCache($cfg)
{
$this->c = $cfg['c'];
@@ -57,18 +57,18 @@ class MemcacheSchemaCache implements Net_LDAP2_SchemaCache
}
/**
- * Store a schema object in the cache
- *
- * This method will be called, if Net_LDAP2 has fetched a fresh
- * schema object from LDAP and wants to init or refresh the cache.
- *
- * To invalidate the cache and cause Net_LDAP2 to refresh the cache,
- * you can call this method with null or false as value.
- * The next call to $ldap->schema() will then refresh the caches object.
- *
- * @param mixed $schema The object that should be cached
- * @return true|Net_LDAP2_Error|false
- */
+ * Store a schema object in the cache
+ *
+ * This method will be called, if Net_LDAP2 has fetched a fresh
+ * schema object from LDAP and wants to init or refresh the cache.
+ *
+ * To invalidate the cache and cause Net_LDAP2 to refresh the cache,
+ * you can call this method with null or false as value.
+ * The next call to $ldap->schema() will then refresh the caches object.
+ *
+ * @param mixed $schema The object that should be cached
+ * @return true|Net_LDAP2_Error|false
+ */
public function storeSchema($schema) {
return $this->c->set($this->cacheKey, $schema);
}
diff --git a/plugins/LilUrl/LilUrlPlugin.php b/plugins/LilUrl/LilUrlPlugin.php
index 1c3d6f84b..bd98026fe 100644
--- a/plugins/LilUrl/LilUrlPlugin.php
+++ b/plugins/LilUrl/LilUrlPlugin.php
@@ -40,7 +40,7 @@ class LilUrlPlugin extends UrlShortenerPlugin
function onInitializePlugin(){
parent::onInitializePlugin();
if(!isset($this->serviceUrl)){
- throw new Exception("must specify a serviceUrl");
+ throw new Exception(_m('A serviceUrl must be specified.'));
}
}
@@ -71,4 +71,3 @@ class LilUrlPlugin extends UrlShortenerPlugin
return true;
}
}
-
diff --git a/plugins/LilUrl/locale/LilUrl.pot b/plugins/LilUrl/locale/LilUrl.pot
index 2785ee800..66505e5f8 100644
--- a/plugins/LilUrl/locale/LilUrl.pot
+++ b/plugins/LilUrl/locale/LilUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/LinkbackPlugin.php b/plugins/Linkback/LinkbackPlugin.php
index 8e44beae1..797572d7f 100644
--- a/plugins/LinkbackPlugin.php
+++ b/plugins/Linkback/LinkbackPlugin.php
@@ -49,7 +49,6 @@ define('LINKBACKPLUGIN_VERSION', '0.1');
*
* @see Event
*/
-
class LinkbackPlugin extends Plugin
{
var $notice = null;
@@ -154,7 +153,6 @@ class LinkbackPlugin extends Plugin
// Largely cadged from trackback_cls.php by
// Ran Aroussi <ran@blogish.org>, GPL2 or any later version
// http://phptrackback.sourceforge.net/
-
function getTrackback($text, $url)
{
if (preg_match_all('/(<rdf:RDF.*?<\/rdf:RDF>)/sm', $text, $match, PREG_SET_ORDER)) {
diff --git a/plugins/Linkback/locale/Linkback.pot b/plugins/Linkback/locale/Linkback.pot
new file mode 100644
index 000000000..f97eccdcc
--- /dev/null
+++ b/plugins/Linkback/locale/Linkback.pot
@@ -0,0 +1,25 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: LinkbackPlugin.php:243
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index e7240a644..c4ba6464e 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class MapstractionPlugin extends Plugin
{
const VERSION = STATUSNET_VERSION;
@@ -64,7 +63,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onRouterInitialized($m)
{
$m->connect(':nickname/all/map',
@@ -85,7 +83,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onAutoload($cls)
{
switch ($cls)
@@ -109,7 +106,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onEndShowScripts($action)
{
$actionName = $action->trimmed('action');
@@ -190,6 +186,7 @@ class MapstractionPlugin extends Plugin
array('nickname' => $action->trimmed('nickname')));
$action->element('a', array('href' => $mapUrl),
+ // TRANS: Clickable item to allow opening the map in full size.
_m("Full size"));
$action->elementEnd('div');
@@ -203,8 +200,7 @@ class MapstractionPlugin extends Plugin
'homepage' => 'http://status.net/wiki/Plugin:Mapstraction',
'rawdescription' =>
_m('Show maps of users\' and friends\' notices '.
- 'with <a href="http://www.mapstraction.com/">Mapstraction</a> '.
- 'JavaScript library.'));
+ 'with <a href="http://www.mapstraction.com/">Mapstraction</a>.'));
return true;
}
}
diff --git a/plugins/Mapstraction/allmap.php b/plugins/Mapstraction/allmap.php
index 5dab670e2..fa05ccc7a 100644
--- a/plugins/Mapstraction/allmap.php
+++ b/plugins/Mapstraction/allmap.php
@@ -42,7 +42,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 AllmapAction extends MapAction
{
function prepare($args)
@@ -63,16 +62,22 @@ class AllmapAction extends MapAction
function title()
{
if (!empty($this->profile->fullname)) {
+ // @todo FIXME: Bad i18n. Should be "%1$s (%2$s)".
$base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
} else {
$base = $this->user->nickname;
}
if ($this->page == 1) {
+ // TRANS: Page title.
+ // TRANS: %s is a user nickname.
return sprintf(_m("%s friends map"),
$base);
} else {
- return sprintf(_m("%s friends map, page %d"),
+ // @todo CHECKME: does this even happen? May not be needed.
+ // TRANS: Page title.
+ // TRANS: %1$s is a user nickname, %2$d is a page number.
+ return sprintf(_m("%1$s friends map, page %2$d"),
$base,
$this->page);
}
diff --git a/plugins/Mapstraction/locale/Mapstraction.pot b/plugins/Mapstraction/locale/Mapstraction.pot
index 3d7f71f89..7a971cabe 100644
--- a/plugins/Mapstraction/locale/Mapstraction.pot
+++ b/plugins/Mapstraction/locale/Mapstraction.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,39 +16,37 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: MapstractionPlugin.php:182
+#: MapstractionPlugin.php:178
msgid "Map"
msgstr ""
-#: MapstractionPlugin.php:193
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
msgid "Full size"
msgstr ""
-#: MapstractionPlugin.php:205
+#: MapstractionPlugin.php:202
msgid ""
"Show maps of users' and friends' notices with <a href=\"http://www."
-"mapstraction.com/\">Mapstraction</a> JavaScript library."
+"mapstraction.com/\">Mapstraction</a>."
msgstr ""
-#: map.php:73
+#: map.php:72
msgid "No such user."
msgstr ""
-#: map.php:80
+#: map.php:79
msgid "User has no profile."
msgstr ""
-#: allmap.php:72
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
#, php-format
msgid "%s friends map"
msgstr ""
-#: allmap.php:75
-#, php-format
-msgid "%s friends map, page %d"
-msgstr ""
-
-#: usermap.php:72
+#: usermap.php:73
#, php-format
msgid "%s map, page %d"
msgstr ""
diff --git a/plugins/Mapstraction/map.php b/plugins/Mapstraction/map.php
index 7dab8e10a..50ff82b67 100644
--- a/plugins/Mapstraction/map.php
+++ b/plugins/Mapstraction/map.php
@@ -42,7 +42,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 MapAction extends OwnerDesignAction
{
var $profile = null;
@@ -116,7 +115,6 @@ class MapAction extends OwnerDesignAction
*
* @return boolean event handler return
*/
-
function showScripts()
{
parent::showScripts();
diff --git a/plugins/Mapstraction/usermap.php b/plugins/Mapstraction/usermap.php
index 094334f60..0ee956159 100644
--- a/plugins/Mapstraction/usermap.php
+++ b/plugins/Mapstraction/usermap.php
@@ -42,10 +42,8 @@ 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 UsermapAction extends MapAction
{
-
function prepare($args)
{
if(parent::prepare($args)) {
@@ -61,14 +59,17 @@ class UsermapAction extends MapAction
function title()
{
if (!empty($this->profile->fullname)) {
- $base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
+ // @todo FIXME: Bad i18n. Should be '%1$s (%2$s)'
+ $base = $this->profile->fullname . ' (' . $this->user->nickname . ')';
} else {
$base = $this->user->nickname;
}
if ($this->page == 1) {
+ // @todo CHECKME: inconsisten with paged variant below. " map" missing.
return $base;
} else {
+ // @todo CHECKME: Is the part ", page %2$d" relevant here?
return sprintf(_m("%s map, page %d"),
$base,
$this->page);
diff --git a/plugins/MemcachePlugin.php b/plugins/Memcache/MemcachePlugin.php
index c3ca5c135..f0c473c31 100644
--- a/plugins/MemcachePlugin.php
+++ b/plugins/Memcache/MemcachePlugin.php
@@ -48,7 +48,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 MemcachePlugin extends Plugin
{
static $cacheInitialized = false;
@@ -70,7 +69,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean flag value
*/
-
function onInitializePlugin()
{
if (self::$cacheInitialized) {
@@ -101,7 +99,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheGet(&$key, &$value)
{
$this->_ensureConn();
@@ -121,7 +118,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
{
$this->_ensureConn();
@@ -160,7 +156,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheDelete(&$key, &$success)
{
$this->_ensureConn();
@@ -194,7 +189,6 @@ class MemcachePlugin extends Plugin
*
* @return void
*/
-
private function _ensureConn()
{
if (empty($this->_conn)) {
@@ -253,4 +247,3 @@ class MemcachePlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/Memcache/locale/Memcache.pot b/plugins/Memcache/locale/Memcache.pot
new file mode 100644
index 000000000..cba1fe73b
--- /dev/null
+++ b/plugins/Memcache/locale/Memcache.pot
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: MemcachePlugin.php:252
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
diff --git a/plugins/MemcachedPlugin.php b/plugins/Memcached/MemcachedPlugin.php
index 77b989b95..3b3383d49 100644
--- a/plugins/MemcachedPlugin.php
+++ b/plugins/Memcached/MemcachedPlugin.php
@@ -69,7 +69,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean flag value
*/
-
function onInitializePlugin()
{
$this->_ensureConn();
@@ -87,7 +86,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheGet(&$key, &$value)
{
$this->_ensureConn();
@@ -107,7 +105,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
{
$this->_ensureConn();
@@ -146,7 +143,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheDelete(&$key, &$success)
{
$this->_ensureConn();
@@ -169,7 +165,6 @@ class MemcachedPlugin extends Plugin
*
* @return void
*/
-
private function _ensureConn()
{
if (empty($this->_conn)) {
@@ -224,4 +219,3 @@ class MemcachedPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/Memcached/locale/Memcached.pot b/plugins/Memcached/locale/Memcached.pot
new file mode 100644
index 000000000..3748566bd
--- /dev/null
+++ b/plugins/Memcached/locale/Memcached.pot
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: MemcachedPlugin.php:223
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php
index ec8c9e217..a48c52b56 100644
--- a/plugins/Meteor/MeteorPlugin.php
+++ b/plugins/Meteor/MeteorPlugin.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MeteorPlugin extends RealtimePlugin
{
public $webserver = null;
@@ -112,7 +111,8 @@ class MeteorPlugin extends RealtimePlugin
// May throw an exception.
$this->_socket = stream_socket_client("tcp://{$controlserver}:{$this->controlport}", $errno, $errstr, $timeout, $flags);
if (!$this->_socket) {
- throw new Exception("Couldn't connect to {$controlserver} on {$this->controlport}");
+ // 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));
}
}
@@ -124,7 +124,8 @@ class MeteorPlugin extends RealtimePlugin
$cnt = fwrite($this->_socket, $cmd);
$result = fgets($this->_socket);
if (preg_match('/^ERR (.*)$/', $result, $matches)) {
- throw new Exception('Error adding meteor message "'.$matches[1].'"');
+ // TRANS: Exception. %s is the Meteor message that could not be added.
+ throw new Exception(sprintf(_m('Error adding meteor message "%s"'),$matches[1]));
}
// TODO: parse and deal with result
}
@@ -146,4 +147,15 @@ class MeteorPlugin extends RealtimePlugin
}
return implode('-', $path);
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Meteor',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Meteor',
+ 'rawdescription' =>
+ _m('Plugin to do "real time" updates using Comet/Bayeux.'));
+ return true;
+ }
}
diff --git a/plugins/Minify/MinifyPlugin.php b/plugins/Minify/MinifyPlugin.php
index 13010e75a..b37531165 100644
--- a/plugins/Minify/MinifyPlugin.php
+++ b/plugins/Minify/MinifyPlugin.php
@@ -51,7 +51,6 @@ class MinifyPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onStartInitializeRouter($m)
{
$m->connect('main/min',
@@ -177,8 +176,7 @@ class MinifyPlugin extends Plugin
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:Minify',
'rawdescription' =>
- _m('The Minify plugin minifies your CSS and Javascript, removing whitespace and comments.'));
+ _m('The Minify plugin minifies StatusNet\'s CSS and JavaScript, removing whitespace and comments.'));
return true;
}
}
-
diff --git a/plugins/Minify/locale/Minify.pot b/plugins/Minify/locale/Minify.pot
index 2f65c5df2..2425d50bc 100644
--- a/plugins/Minify/locale/Minify.pot
+++ b/plugins/Minify/locale/Minify.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,8 +16,20 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr ""
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr ""
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr ""
+
#: MinifyPlugin.php:180
msgid ""
-"The Minify plugin minifies your CSS and Javascript, removing whitespace and "
-"comments."
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
msgstr ""
diff --git a/plugins/Minify/minify.php b/plugins/Minify/minify.php
index 64727f5e7..9a59c4223 100644
--- a/plugins/Minify/minify.php
+++ b/plugins/Minify/minify.php
@@ -46,11 +46,11 @@ class MinifyAction extends Action
if(file_exists($this->file)) {
return true;
} else {
- $this->clientError(_('f parameter is not a valid path'),404);
+ $this->clientError(_m('The parameter "f" is not a valid path.'),404);
return false;
}
}else{
- $this->clientError(_('f parameter is required'),500);
+ $this->clientError(_m('The parameter "f" is required but missing.'),500);
return false;
}
}
@@ -108,10 +108,9 @@ class MinifyAction extends Action
header('Content-Type: ' . self::TYPE_CSS);
break;
default:
- $this->clientError(_('File type not supported'),500);
+ $this->clientError(_m('File type not supported.'),500);
return false;
}
return $out;
}
}
-
diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php
index 72a6a04fb..b042bf7ed 100644
--- a/plugins/MobileProfile/MobileProfilePlugin.php
+++ b/plugins/MobileProfile/MobileProfilePlugin.php
@@ -36,7 +36,6 @@ define('PAGE_TYPE_PREFS_MOBILEPROFILE',
require_once INSTALLDIR.'/plugins/Mobile/WAP20Plugin.php';
-
/**
* Superclass for plugin to output XHTML Mobile Profile
*
@@ -46,7 +45,6 @@ require_once INSTALLDIR.'/plugins/Mobile/WAP20Plugin.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MobileProfilePlugin extends WAP20Plugin
{
public $DTD = null;
@@ -60,14 +58,13 @@ class MobileProfilePlugin extends WAP20Plugin
parent::__construct();
}
-
function onStartShowHTML($action)
{
// XXX: This should probably graduate to WAP20Plugin
// If they are on the mobile site, serve them MP
if ((common_config('site', 'mobileserver').'/'.
- common_config('site', 'path').'/' ==
+ common_config('site', 'path').'/' ==
$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])) {
$this->serveMobile = true;
@@ -78,18 +75,18 @@ class MobileProfilePlugin extends WAP20Plugin
//if (strstr('application/vnd.wap.xhtml+xml', $type) !== false) {
// $this->serveMobile = true;
//} else {
- // If they are a mobile device that supports WAP 2.0,
+ // If they are a mobile device that supports WAP 2.0,
// serve them MP
// XXX: Browser sniffing sucks
- // I really don't like going through this every page,
+ // I really don't like going through this every page,
// perhaps use $_SESSION or cookies
- // May be better to group the devices in terms of
+ // May be better to group the devices in terms of
// low,mid,high-end
- // Or, detect the mobile devices based on their support for
+ // Or, detect the mobile devices based on their support for
// MP 1.0, 1.1, or 1.2 may be ideal. Possible?
$this->mobiledevices = array(
@@ -165,11 +162,11 @@ class MobileProfilePlugin extends WAP20Plugin
}
//}
- // If they are okay with MP, and the site has a mobile server,
+ // If they are okay with MP, and the site has a mobile server,
// redirect there
- if ($this->serveMobile &&
+ if ($this->serveMobile &&
common_config('site', 'mobileserver') !== false &&
- (common_config('site', 'mobileserver') !=
+ (common_config('site', 'mobileserver') !=
common_config('site', 'server'))) {
// FIXME: Redirect to equivalent page on mobile site instead
@@ -193,8 +190,8 @@ class MobileProfilePlugin extends WAP20Plugin
$type = common_negotiate_type($cp, $sp);
if (!$type) {
- throw new ClientException(_('This page is not available in a '.
- 'media type you accept'), 406);
+ throw new ClientException(_m('This page is not available in a '.
+ 'media type you accept.'), 406);
}
//}
@@ -217,7 +214,6 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function setMobileFeatures($useragent)
{
$mobiledeviceInputFileType = array(
@@ -234,7 +230,6 @@ class MobileProfilePlugin extends WAP20Plugin
}
}
-
function onStartShowStatusNetStyles($action)
{
if (!$this->serveMobile) {
@@ -262,7 +257,6 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function onStartShowUAStyles($action) {
if (!$this->serveMobile) {
return true;
@@ -288,18 +282,17 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function _showLogo($action)
{
$action->elementStart('address', 'vcard');
$action->elementStart('a', array('class' => 'url home bookmark',
'href' => common_local_url('public')));
- if (common_config('site', 'mobilelogo') ||
- file_exists(Theme::file('logo.png')) ||
+ if (common_config('site', 'mobilelogo') ||
+ file_exists(Theme::file('logo.png')) ||
file_exists(Theme::file('mobilelogo.png'))) {
$action->element('img', array('class' => 'photo',
- 'src' => (common_config('site', 'mobilelogo')) ? common_config('site', 'mobilelogo') :
+ 'src' => (common_config('site', 'mobilelogo')) ? common_config('site', 'mobilelogo') :
((file_exists(Theme::file('mobilelogo.png'))) ? (Theme::path('mobilelogo.png')) : Theme::path('logo.png')),
'alt' => common_config('site', 'name')));
}
@@ -308,44 +301,42 @@ class MobileProfilePlugin extends WAP20Plugin
$action->elementEnd('address');
}
-
function _showPrimaryNav($action)
{
$user = common_current_user();
$action->elementStart('ul', array('id' => 'site_nav_global_primary'));
if ($user) {
$action->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
- _('Home'));
+ _m('Home'));
$action->menuItem(common_local_url('profilesettings'),
- _('Account'));
+ _m('Account'));
$action->menuItem(common_local_url('oauthconnectionssettings'),
- _('Connect'));
+ _m('Connect'));
if ($user->hasRight(Right::CONFIGURESITE)) {
$action->menuItem(common_local_url('siteadminpanel'),
- _('Admin'), _('Change site configuration'), false, 'nav_admin');
+ _m('Admin'), _m('Change site configuration'), false, 'nav_admin');
}
if (common_config('invite', 'enabled')) {
$action->menuItem(common_local_url('invite'),
- _('Invite'));
+ _m('Invite'));
}
$action->menuItem(common_local_url('logout'),
- _('Logout'));
+ _m('Logout'));
} else {
if (!common_config('site', 'closed')) {
$action->menuItem(common_local_url('register'),
- _('Register'));
+ _m('Register'));
}
$action->menuItem(common_local_url('login'),
- _('Login'));
+ _m('Login'));
}
if ($user || !common_config('site', 'private')) {
$action->menuItem(common_local_url('peoplesearch'),
- _('Search'));
+ _m('Search'));
}
$action->elementEnd('ul');
}
-
function onStartShowNoticeFormData($form)
{
if (!$this->serveMobile) {
@@ -367,11 +358,11 @@ class MobileProfilePlugin extends WAP20Plugin
if (common_config('attachments', 'uploads')) {
if ($this->mobileFeatures['inputfiletype']) {
- $form->out->element('label', array('for' => 'notice_data-attach'), _('Attach'));
+ $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' => _('Attach a file')));
+ 'title' => _m('Attach a file')));
$form->out->hidden('MAX_FILE_SIZE', common_config('attachments', 'file_quota'));
}
}
@@ -383,7 +374,6 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function onStartShowAside($action)
{
if ($this->serveMobile) {
@@ -391,13 +381,11 @@ class MobileProfilePlugin extends WAP20Plugin
}
}
-
function onStartShowScripts($action)
{
}
-
function _common_path($relative, $ssl=false)
{
$pathpart = (common_config('site', 'path')) ? common_config('site', 'path')."/" : '';
diff --git a/plugins/MobileProfile/locale/MobileProfile.pot b/plugins/MobileProfile/locale/MobileProfile.pot
index c4af49a22..7c58516b1 100644
--- a/plugins/MobileProfile/locale/MobileProfile.pot
+++ b/plugins/MobileProfile/locale/MobileProfile.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/NoticeTitle/NoticeTitlePlugin.php b/plugins/NoticeTitle/NoticeTitlePlugin.php
index 9f53173db..dea0417f5 100644
--- a/plugins/NoticeTitle/NoticeTitlePlugin.php
+++ b/plugins/NoticeTitle/NoticeTitlePlugin.php
@@ -123,7 +123,7 @@ class NoticeTitlePlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => $url,
'rawdescription' =>
- _m('Adds optional titles to notices'));
+ _m('Adds optional titles to notices.'));
return true;
}
@@ -164,7 +164,7 @@ class NoticeTitlePlugin extends Plugin
$title = $action->trimmed('notice_title');
if (!empty($title)) {
if (mb_strlen($title) > Notice_title::MAXCHARS) {
- throw new Exception(sprintf(_m("Notice title too long (max %d)",
+ throw new Exception(sprintf(_m("The notice title is too long (max %d characters).",
Notice_title::MAXCHARS)));
}
}
@@ -296,7 +296,7 @@ class NoticeTitlePlugin extends Plugin
if (!empty($title)) {
$action->element('title', null,
// TRANS: Page title. %1$s is the title, %2$s is the site name.
- sprintf(_("%1\$s - %2\$s"),
+ sprintf(_m("%1\$s - %2\$s"),
$title,
common_config('site', 'name')));
}
@@ -328,4 +328,3 @@ class NoticeTitlePlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/NoticeTitle/locale/NoticeTitle.pot b/plugins/NoticeTitle/locale/NoticeTitle.pot
index 1a451ba74..f5a962831 100644
--- a/plugins/NoticeTitle/locale/NoticeTitle.pot
+++ b/plugins/NoticeTitle/locale/NoticeTitle.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,5 +17,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: NoticeTitlePlugin.php:126
-msgid "Adds optional titles to notices"
+msgid "Adds optional titles to notices."
+msgstr ""
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:299
+#, php-format
+msgid "%1$s - %2$s"
msgstr ""
diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php
index 77bc9872b..2dddfcbe2 100644
--- a/plugins/OStatus/OStatusPlugin.php
+++ b/plugins/OStatus/OStatusPlugin.php
@@ -223,6 +223,7 @@ class OStatusPlugin extends Plugin
array('nickname' => $profile->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
+ // TRANS: Link description for link to subscribe to a remote user.
_m('Subscribe'));
$output->elementEnd('li');
@@ -241,6 +242,7 @@ class OStatusPlugin extends Plugin
array('group' => $group->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
+ // TRANS: Link description for link to join a remote group.
_m('Join'));
}
@@ -453,6 +455,7 @@ class OStatusPlugin extends Plugin
}
$url = $notice->url;
+ // TRANSLATE: %s is a domain.
$title = sprintf(_m("Sent from %s via OStatus"), $domain);
return false;
}
@@ -524,6 +527,7 @@ class OStatusPlugin extends Plugin
}
if (!$oprofile->subscribe()) {
+ // TRANS: Exception.
throw new Exception(_m('Could not set up remote subscription.'));
}
}
@@ -563,10 +567,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
- $act->title = _("Follow");
+ $act->title = _m("Follow");
// TRANS: Success message for subscribe to user attempt through OStatus.
// TRANS: %1$s is the subscriber name, %2$s is the subscribed user's name.
- $act->content = sprintf(_("%1$s is now following %2$s."),
+ $act->content = sprintf(_m('%1$s is now following %2$s.'),
$subscriber->getBestName(),
$other->getBestName());
@@ -613,10 +617,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
- $act->title = _("Unfollow");
+ $act->title = _m('Unfollow');
// TRANS: Success message for unsubscribe from user attempt through OStatus.
// TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
- $act->content = sprintf(_("%1$s stopped following %2$s."),
+ $act->content = sprintf(_m('%1$s stopped following %2$s.'),
$profile->getBestName(),
$other->getBestName());
@@ -671,6 +675,7 @@ class OStatusPlugin extends Plugin
return true;
} else {
$oprofile->garbageCollect();
+ // TRANS: Exception.
throw new Exception(_m("Failed joining remote group."));
}
}
@@ -729,7 +734,6 @@ class OStatusPlugin extends Plugin
* @param Notice $notice being favored
* @return hook return value
*/
-
function onEndFavorNotice(Profile $profile, Notice $notice)
{
$user = User::staticGet('id', $profile->id);
@@ -753,10 +757,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
- $act->title = _("Favor");
+ $act->title = _m('Favor');
// TRANS: Success message for adding a favorite notice through OStatus.
// TRANS: %1$s is the favoring user's name, %2$s is URI to the favored notice.
- $act->content = sprintf(_("%1$s marked notice %2$s as a favorite."),
+ $act->content = sprintf(_m('%1$s marked notice %2$s as a favorite.'),
$profile->getBestName(),
$notice->uri);
@@ -799,10 +803,10 @@ class OStatusPlugin extends Plugin
$notice->id,
common_date_iso8601(time()));
$act->time = time();
- $act->title = _("Disfavor");
+ $act->title = _m('Disfavor');
// TRANS: Success message for remove a favorite notice through OStatus.
// TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
- $act->content = sprintf(_("%1$s marked notice %2$s as no longer a favorite."),
+ $act->content = sprintf(_m('%1$s marked notice %2$s as no longer a favorite.'),
$profile->getBestName(),
$notice->uri);
@@ -876,8 +880,9 @@ class OStatusPlugin extends Plugin
$action->elementStart('p', array('id' => 'entity_remote_subscribe',
'class' => 'entity_subscribe'));
$action->element('a', array('href' => common_local_url($target),
- 'class' => 'entity_remote_subscribe')
- , _m('Remote')); // @todo: i18n: Add translator hint for this text.
+ 'class' => 'entity_remote_subscribe'),
+ // TRANS: Link text for link to remote subscribe.
+ _m('Remote'));
$action->elementEnd('p');
$action->elementEnd('div');
}
@@ -916,6 +921,7 @@ class OStatusPlugin extends Plugin
$profile->id,
common_date_iso8601(time()));
$act->time = time();
+ // TRANS: Title for activity.
$act->title = _m("Profile update");
// TRANS: Ping text for remote profile update through OStatus.
// TRANS: %s is user that updated their profile.
@@ -948,7 +954,8 @@ class OStatusPlugin extends Plugin
array('nickname' => $profileUser->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
- _m('Subscribe')); // @todo: i18n: Add context.
+ // TRANS: Link text for a user to subscribe to an OStatus user.
+ _m('Subscribe'));
$output->elementEnd('li');
}
}
@@ -962,9 +969,9 @@ class OStatusPlugin extends Plugin
'version' => STATUSNET_VERSION,
'author' => 'Evan Prodromou, James Walker, Brion Vibber, Zach Copley',
'homepage' => 'http://status.net/wiki/Plugin:OStatus',
- 'rawdescription' =>
- _m('Follow people across social networks that implement '.
- '<a href="http://ostatus.org/">OStatus</a>.')); // @todo i18n: Add translator hint.
+ // TRANS: Plugin description.
+ 'rawdescription' => _m('Follow people across social networks that implement '.
+ '<a href="http://ostatus.org/">OStatus</a>.'));
return true;
}
diff --git a/plugins/OStatus/actions/groupsalmon.php b/plugins/OStatus/actions/groupsalmon.php
index 5094dccf0..3a3d63fe2 100644
--- a/plugins/OStatus/actions/groupsalmon.php
+++ b/plugins/OStatus/actions/groupsalmon.php
@@ -17,15 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/**
- * @package OStatusPlugin
- * @author James Walker <james@status.net>
- */
-
if (!defined('STATUSNET')) {
exit(1);
}
+/**
+ * @package OStatusPlugin
+ * @author James Walker <james@status.net>
+ */
class GroupsalmonAction extends SalmonAction
{
var $group = null;
@@ -37,17 +36,20 @@ class GroupsalmonAction extends SalmonAction
$id = $this->trimmed('id');
if (!$id) {
- $this->clientError(_('No ID.'));
+ // TRANS: Client error.
+ $this->clientError(_m('No ID.'));
}
$this->group = User_group::staticGet('id', $id);
if (empty($this->group)) {
- $this->clientError(_('No such group.'));
+ // TRANS: Client error.
+ $this->clientError(_m('No such group.'));
}
$oprofile = Ostatus_profile::staticGet('group_id', $id);
if ($oprofile) {
+ // TRANS: Client error.
$this->clientError(_m("Can't accept remote posts for a remote group."));
}
@@ -57,7 +59,6 @@ class GroupsalmonAction extends SalmonAction
/**
* We've gotten a post event on the Salmon backchannel, probably a reply.
*/
-
function handlePost()
{
// @fixme process all objects?
@@ -69,18 +70,20 @@ class GroupsalmonAction extends SalmonAction
case ActivityObject::COMMENT:
break;
default:
+ // TRANS: Client exception.
throw new ClientException("Can't handle that kind of post.");
}
// Notice must be to the attention of this group
-
$context = $this->activity->context;
if (empty($context->attention)) {
+ // TRANS: Client exception.
throw new ClientException("Not to the attention of anyone.");
} else {
$uri = common_local_url('groupbyid', array('id' => $this->group->id));
if (!in_array($uri, $context->attention)) {
+ // TRANS: Client exception.
throw new ClientException("Not to the attention of this group.");
}
}
@@ -116,14 +119,15 @@ class GroupsalmonAction extends SalmonAction
* currently we're doing the main logic in joingroup action
* and so have to repeat it here.
*/
-
function handleJoin()
{
$oprofile = $this->ensureProfile();
if (!$oprofile) {
+ // TRANS: Client error.
$this->clientError(_m("Can't read profile to set up group membership."));
}
if ($oprofile->isGroup()) {
+ // TRANS: Client error.
$this->clientError(_m("Groups can't join groups."));
}
@@ -137,7 +141,7 @@ class GroupsalmonAction extends SalmonAction
}
if (Group_block::isBlocked($this->group, $profile)) {
- $this->clientError(_('You have been blocked from that group by the admin.'), 403);
+ $this->clientError(_m('You have been blocked from that group by the admin.'), 403);
return false;
}
@@ -151,6 +155,7 @@ class GroupsalmonAction extends SalmonAction
//Event::handle('EndJoinGroup', array($this->group, $profile));
//}
} catch (Exception $e) {
+ // TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
$this->serverError(sprintf(_m('Could not join remote user %1$s to group %2$s.'),
$oprofile->uri, $this->group->nickname));
}
@@ -159,7 +164,6 @@ class GroupsalmonAction extends SalmonAction
/**
* A remote user left our group.
*/
-
function handleLeave()
{
$oprofile = $this->ensureProfile();
@@ -180,10 +184,10 @@ class GroupsalmonAction extends SalmonAction
//Event::handle('EndLeaveGroup', array($this->group, $profile));
//}
} catch (Exception $e) {
+ // TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
$this->serverError(sprintf(_m('Could not remove remote user %1$s from group %2$s.'),
$oprofile->uri, $this->group->nickname));
return;
}
}
-
}
diff --git a/plugins/OStatus/actions/hostmeta.php b/plugins/OStatus/actions/hostmeta.php
index 8ca07f916..db4c913e1 100644
--- a/plugins/OStatus/actions/hostmeta.php
+++ b/plugins/OStatus/actions/hostmeta.php
@@ -26,7 +26,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class HostMetaAction extends Action
{
-
function handle()
{
parent::handle();
diff --git a/plugins/OStatus/actions/ostatusgroup.php b/plugins/OStatus/actions/ostatusgroup.php
index 1861e866f..7db00ffbe 100644
--- a/plugins/OStatus/actions/ostatusgroup.php
+++ b/plugins/OStatus/actions/ostatusgroup.php
@@ -72,13 +72,16 @@ class OStatusGroupAction extends OStatusSubAction
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('profile',
+ // TRANS: Field label.
_m('Join group'),
$this->profile_uri,
+ // TRANS: Tooltip for field label "Join group".
_m("OStatus group's address, like http://example.net/group/nickname."));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('validate', _m('Continue'));
+ // TRANS: Button text.
+ $this->submit('validate', _m('BUTTON','Continue'));
$this->elementEnd('fieldset');
@@ -156,7 +159,6 @@ class OStatusGroupAction extends OStatusSubAction
*
* @return string Title of the page
*/
-
function title()
{
// TRANS: Page title for OStatus remote group join form
@@ -168,9 +170,9 @@ class OStatusGroupAction extends OStatusSubAction
*
* @return instructions for use
*/
-
function getInstructions()
{
+ // TRANS: Instructions.
return _m('You can subscribe to groups from other supported sites. Paste the group\'s profile URI below:');
}
diff --git a/plugins/OStatus/actions/ostatusinit.php b/plugins/OStatus/actions/ostatusinit.php
index 0c991aba9..f576823e3 100644
--- a/plugins/OStatus/actions/ostatusinit.php
+++ b/plugins/OStatus/actions/ostatusinit.php
@@ -27,7 +27,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class OStatusInitAction extends Action
{
-
var $nickname;
var $group;
var $profile;
@@ -38,6 +37,7 @@ class OStatusInitAction extends Action
parent::prepare($args);
if (common_logged_in()) {
+ // TRANS: Client error.
$this->clientError(_m('You can use the local subscription!'));
return false;
}
@@ -78,6 +78,7 @@ class OStatusInitAction extends Action
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
+ // TRANS: Form title.
$this->element('title', null, _m('Subscribe to user'));
$this->elementEnd('head');
$this->elementStart('body');
@@ -92,11 +93,15 @@ class OStatusInitAction extends Action
function showContent()
{
if ($this->group) {
+ // TRANS: Form legend.
$header = sprintf(_m('Join group %s'), $this->group);
- $submit = _m('Join');
+ // TRANS: Button text.
+ $submit = _m('BUTTON','Join');
} else {
+ // TRANS: Form legend.
$header = sprintf(_m('Subscribe to %s'), $this->nickname);
- $submit = _m('Subscribe');
+ // TRANS: Button text.
+ $submit = _m('BUTTON','Subscribe');
}
$this->elementStart('form', array('id' => 'form_ostatus_connect',
'method' => 'post',
@@ -108,12 +113,15 @@ class OStatusInitAction extends Action
$this->elementStart('ul', 'form_data');
$this->elementStart('li', array('id' => 'ostatus_nickname'));
+ // TRANS: Field label.
$this->input('nickname', _m('User nickname'), $this->nickname,
_m('Nickname of the user you want to follow.'));
$this->hidden('group', $this->group); // pass-through for magic links
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'ostatus_profile'));
+ // TRANS: Field label.
$this->input('profile', _m('Profile Account'), $this->profile,
+ // TRANS: Tooltip for field label "Profile Account".
_m('Your account id (e.g. user@identi.ca).'));
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -135,6 +143,7 @@ class OStatusInitAction extends Action
} elseif (strpos($this->profile, '@') !== false) {
$this->connectWebfinger($this->profile);
} else {
+ // TRANS: Client error.
$this->clientError(_m("Must provide a remote profile."));
}
}
@@ -146,6 +155,7 @@ class OStatusInitAction extends Action
$disco = new Discovery;
$result = $disco->lookup($acct);
if (!$result) {
+ // TRANS: Client error.
$this->clientError(_m("Couldn't look up OStatus account profile."));
}
@@ -158,6 +168,7 @@ class OStatusInitAction extends Action
}
}
+ // TRANS: Client error.
$this->clientError(_m("Couldn't confirm remote profile address."));
}
@@ -183,6 +194,7 @@ class OStatusInitAction extends Action
if ($user) {
return common_local_url('userbyid', array('id' => $user->id));
} else {
+ // TRANS: Client error.
$this->clientError("No such user.");
}
} else if ($this->group) {
@@ -190,16 +202,18 @@ class OStatusInitAction extends Action
if ($group) {
return common_local_url('groupbyid', array('id' => $group->group_id));
} else {
+ // TRANS: Client error.
$this->clientError("No such group.");
}
} else {
+ // TRANS: Client error.
$this->clientError("No local user or group nickname provided.");
}
}
function title()
{
+ // TRANS: Page title.
return _m('OStatus Connect');
}
-
}
diff --git a/plugins/OStatus/actions/ostatussub.php b/plugins/OStatus/actions/ostatussub.php
index 4cbd7d034..493b51965 100644
--- a/plugins/OStatus/actions/ostatussub.php
+++ b/plugins/OStatus/actions/ostatussub.php
@@ -62,13 +62,15 @@ class OStatusSubAction extends Action
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('profile',
+ // TRANS: Field label for a field that takes an OStatus user address.
_m('Subscribe to'),
$this->profile_uri,
- _m("OStatus user's address, like nickname@example.com or http://example.net/nickname")); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Tooltip for field label "Subscribe to".
+ _m('OStatus user\'s address, like nickname@example.com or http://example.net/nickname'));
$this->elementEnd('li');
$this->elementEnd('ul');
-
- $this->submit('validate', _m('Continue')); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Button text.
+ $this->submit('validate', _m('BUTTON','Continue'));
$this->elementEnd('fieldset');
@@ -103,10 +105,14 @@ class OStatusSubAction extends Action
$this->hidden('profile', $this->profile_uri);
if ($this->oprofile->isGroup()) {
$this->submit('submit', _m('Join'), 'submit', null,
- _m('Join this group')); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Button text.
+ // TRANS: Tooltip for button "Join".
+ _m('BUTTON','Join this group'));
} else {
- $this->submit('submit', _m('Confirm'), 'submit', null,
- _m('Subscribe to this user')); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Button text.
+ $this->submit('submit', _m('BUTTON','Confirm'), 'submit', null,
+ // TRANS: Tooltip for button "Confirm".
+ _m('Subscribe to this user'));
}
$this->elementEnd('fieldset');
$this->elementEnd('form');
@@ -156,7 +162,7 @@ class OStatusSubAction extends Action
$this->elementStart('div', 'entity_profile vcard');
$this->elementStart('dl', 'entity_depiction');
- $this->element('dt', null, _('Photo'));
+ $this->element('dt', null, _m('Photo'));
$this->elementStart('dd');
$this->element('img', array('src' => $avatar,
'class' => 'photo avatar',
@@ -167,7 +173,7 @@ class OStatusSubAction extends Action
$this->elementEnd('dl');
$this->elementStart('dl', 'entity_nickname');
- $this->element('dt', null, _('Nickname'));
+ $this->element('dt', null, _m('Nickname'));
$this->elementStart('dd');
$hasFN = ($fullname !== '') ? 'nickname' : 'fn nickname';
$this->elementStart('a', array('href' => $profile,
@@ -188,7 +194,7 @@ class OStatusSubAction extends Action
}
if (!is_null($location)) {
$this->elementStart('dl', 'entity_location');
- $this->element('dt', null, _('Location'));
+ $this->element('dt', null, _m('Location'));
$this->elementStart('dd', 'label');
$this->raw($location);
$this->elementEnd('dd');
@@ -197,7 +203,7 @@ class OStatusSubAction extends Action
if (!is_null($homepage)) {
$this->elementStart('dl', 'entity_url');
- $this->element('dt', null, _('URL'));
+ $this->element('dt', null, _m('URL'));
$this->elementStart('dd');
$this->elementStart('a', array('href' => $homepage,
'class' => 'url'));
@@ -209,7 +215,7 @@ class OStatusSubAction extends Action
if (!is_null($note)) {
$this->elementStart('dl', 'entity_note');
- $this->element('dt', null, _('Note'));
+ $this->element('dt', null, _m('Note'));
$this->elementStart('dd', 'note');
$this->raw($note);
$this->elementEnd('dd');
@@ -244,31 +250,39 @@ class OStatusSubAction extends Action
} else if (Validate::uri($this->profile_uri)) {
$this->oprofile = Ostatus_profile::ensureProfileURL($this->profile_uri);
} else {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug('Invalid address format.', __FILE__);
return false;
}
return true;
} catch (FeedSubBadURLException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug('Invalid URL or could not reach server.', __FILE__);
} catch (FeedSubBadResponseException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Cannot read feed; server returned error.', __FILE__);
} catch (FeedSubEmptyException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Cannot read feed; server returned an empty page.', __FILE__);
} catch (FeedSubBadHTMLException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Bad HTML, could not find feed link.', __FILE__);
} catch (FeedSubNoFeedException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Could not find a feed linked from this URL.', __FILE__);
} catch (FeedSubUnrecognizedTypeException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Not a recognized feed type.', __FILE__);
} catch (Exception $e) {
// Any new ones we forgot about
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug(sprintf('Bad feed URL: %s %s', get_class($e), $e->getMessage()), __FILE__);
}
@@ -350,7 +364,7 @@ class OStatusSubAction extends Action
// CSRF protection
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
- $this->showForm(_('There was a problem with your session token. '.
+ $this->showForm(_m('There was a problem with your session token. '.
'Try again, please.'));
return;
}
@@ -377,6 +391,7 @@ class OStatusSubAction extends Action
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
+ // TRANS: Form title.
$this->element('title', null, _m('Subscribe to user'));
$this->elementEnd('head');
$this->elementStart('body');
@@ -408,6 +423,7 @@ class OStatusSubAction extends Action
function getInstructions()
{
+ // TRANS: Instructions.
return _m('You can subscribe to users from other supported sites. Paste their address or profile URI below:');
}
@@ -426,7 +442,6 @@ class OStatusSubAction extends Action
*
* @return void
*/
-
function showContent()
{
if ($this->oprofile) {
@@ -459,5 +474,4 @@ class OStatusSubAction extends Action
function showNoticeForm() {
// nop
}
-
}
diff --git a/plugins/OStatus/actions/ownerxrd.php b/plugins/OStatus/actions/ownerxrd.php
index 3fcb982b8..9e84f72ec 100644
--- a/plugins/OStatus/actions/ownerxrd.php
+++ b/plugins/OStatus/actions/ownerxrd.php
@@ -34,7 +34,7 @@ class OwnerxrdAction extends XrdAction
$this->user = User::siteOwner();
if (!$this->user) {
- $this->clientError(_('No such user.'), 404);
+ $this->clientError(_m('No such user.'), 404);
return false;
}
diff --git a/plugins/OStatus/actions/pushcallback.php b/plugins/OStatus/actions/pushcallback.php
index 6c6978745..701a39c16 100644
--- a/plugins/OStatus/actions/pushcallback.php
+++ b/plugins/OStatus/actions/pushcallback.php
@@ -24,7 +24,6 @@
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
class PushCallbackAction extends Action
{
function handle()
@@ -46,13 +45,13 @@ class PushCallbackAction extends Action
$feedid = $this->arg('feed');
common_log(LOG_INFO, "POST for feed id $feedid");
if (!$feedid) {
- throw new ServerException('Empty or invalid feed id.', 400);
+ throw new ServerException(_m('Empty or invalid feed id.'), 400);
}
$feedsub = FeedSub::staticGet('id', $feedid);
if (!$feedsub) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ServerException('Unknown PuSH feed id ' . $feedid, 400);
+ // TRANS: Server exception. %s is a feed ID.
+ throw new ServerException(sprintf(_m('Unknown PuSH feed id %s'),$feedid), 400);
}
$hmac = '';
@@ -84,30 +83,31 @@ class PushCallbackAction extends Action
$verify_token = $this->arg('hub_verify_token');
if ($mode != 'subscribe' && $mode != 'unsubscribe') {
- throw new ClientException("Bad hub.mode $mode", 404);
+ // TRANS: Client exception. %s is an invalid value for hub.mode.
+ throw new ClientException(sprintf(_m('Bad hub.mode "$s".',$mode)), 404);
}
$feedsub = FeedSub::staticGet('uri', $topic);
if (!$feedsub) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Bad hub.topic feed $topic.", 404);
+ // TRANS: Client exception. %s is an invalid feed name.
+ throw new ClientException(sprintf(_m('Bad hub.topic feed "%s".'),$topic), 404);
}
if ($feedsub->verify_token !== $verify_token) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Bad hub.verify_token $token for $topic.", 404);
+ // TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+ throw new ClientException(sprintf(_m('Bad hub.verify_token %1$s for %2$s.'),$token,$topic), 404);
}
if ($mode == 'subscribe') {
// We may get re-sub requests legitimately.
if ($feedsub->sub_state != 'subscribe' && $feedsub->sub_state != 'active') {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unexpected subscribe request for $topic.", 404);
+ // TRANS: Client exception. %s is an invalid topic.
+ throw new ClientException(sprintf(_m('Unexpected subscribe request for %s.'),$topic), 404);
}
} else {
if ($feedsub->sub_state != 'unsubscribe') {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unexpected unsubscribe request for $topic.", 404);
+ // TRANS: Client exception. %s is an invalid topic.
+ throw new ClientException(sprintf(_m('Unexpected unsubscribe request for %s.'),$topic), 404);
}
}
diff --git a/plugins/OStatus/actions/pushhub.php b/plugins/OStatus/actions/pushhub.php
index 6909b8539..68035ab5c 100644
--- a/plugins/OStatus/actions/pushhub.php
+++ b/plugins/OStatus/actions/pushhub.php
@@ -62,11 +62,11 @@ class PushHubAction extends Action
$this->subunsub($mode);
break;
case "publish":
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Publishing outside feeds not supported.", 400);
+ // TRANS: Client exception.
+ throw new ClientException(_m('Publishing outside feeds not supported.'), 400);
default:
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unrecognized mode '$mode'.", 400);
+ // TRANS: Client exception. %s is a mode.
+ throw new ClientException(sprintf(_m('Unrecognized mode "%s".'),$mode), 400);
}
}
@@ -85,28 +85,28 @@ class PushHubAction extends Action
$topic = $this->argUrl('hub.topic');
if (!$this->recognizedFeed($topic)) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unsupported hub.topic $topic; this hub only serves local user and group Atom feeds.");
+ // TRANS: Client exception. %s is a topic.
+ throw new ClientException(sprintf(_m('Unsupported hub.topic %s this hub only serves local user and group Atom feeds.'),$topic));
}
$verify = $this->arg('hub.verify'); // @fixme may be multiple
if ($verify != 'sync' && $verify != 'async') {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.verify $verify; must be sync or async.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.verify "%s". It must be sync or async.'),$verify));
}
$lease = $this->arg('hub.lease_seconds', null);
if ($mode == 'subscribe' && $lease != '' && !preg_match('/^\d+$/', $lease)) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.lease $lease; must be empty or positive integer.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.lease "%s". It must be empty or positive integer.'),$lease));
}
$token = $this->arg('hub.verify_token', null);
$secret = $this->arg('hub.secret', null);
if ($secret != '' && strlen($secret) >= 200) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.secret $secret; must be under 200 bytes.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
}
$sub = HubSub::staticGet($topic, $callback);
@@ -157,8 +157,8 @@ class PushHubAction extends Action
if ($feed == $userFeed) {
$user = User::staticGet('id', $id);
if (!$user) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.topic $feed; user doesn't exist.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintt(_m('Invalid hub.topic "%s". User doesn\'t exist.'),$feed));
} else {
return true;
}
@@ -166,8 +166,8 @@ class PushHubAction extends Action
if ($feed == $groupFeed) {
$user = User_group::staticGet('id', $id);
if (!$user) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.topic $feed; group doesn't exist.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.topic "%s". Group doesn\'t exist.'),$feed));
} else {
return true;
}
@@ -190,8 +190,9 @@ class PushHubAction extends Action
if (Validate::uri($url, $params)) {
return $url;
} else {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid URL passed for $arg: '$url'");
+ // TRANS: Client exception.
+ // TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+ throw new ClientException(sprintf(_m('Invalid URL passed for %1$s: "%2$s"'),$arg,$url));
}
}
diff --git a/plugins/OStatus/actions/usersalmon.php b/plugins/OStatus/actions/usersalmon.php
index 06a72bf02..e78c65330 100644
--- a/plugins/OStatus/actions/usersalmon.php
+++ b/plugins/OStatus/actions/usersalmon.php
@@ -17,15 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/**
- * @package OStatusPlugin
- * @author James Walker <james@status.net>
- */
-
if (!defined('STATUSNET')) {
exit(1);
}
+/**
+ * @package OStatusPlugin
+ * @author James Walker <james@status.net>
+ */
class UsersalmonAction extends SalmonAction
{
function prepare($args)
@@ -35,13 +34,13 @@ class UsersalmonAction extends SalmonAction
$id = $this->trimmed('id');
if (!$id) {
- $this->clientError(_('No ID.'));
+ $this->clientError(_m('No ID.'));
}
$this->user = User::staticGet('id', $id);
if (empty($this->user)) {
- $this->clientError(_('No such user.'));
+ $this->clientError(_m('No such user.'));
}
return true;
@@ -78,20 +77,24 @@ class UsersalmonAction extends SalmonAction
if (!empty($context->replyToID)) {
$notice = Notice::staticGet('uri', $context->replyToID);
if (empty($notice)) {
- throw new ClientException("In reply to unknown notice");
+ // TRANS: Client exception.
+ throw new ClientException(_m('In reply to unknown notice.'));
}
if ($notice->profile_id != $this->user->id &&
!in_array($this->user->id, $notice->getReplies())) {
- throw new ClientException("In reply to a notice not by this user and not mentioning this user");
+ // TRANS: Client exception.
+ throw new ClientException(_m('In reply to a notice not by this user and not mentioning this user.'));
}
} else if (!empty($context->attention)) {
if (!in_array($this->user->uri, $context->attention) &&
!in_array(common_profile_url($this->user->nickname), $context->attention)) {
common_log(LOG_ERR, "{$this->user->uri} not in attention list (".implode(',', $context->attention).")");
- throw new ClientException("To the attention of user(s) not including this one!");
+ // TRANS: Client exception.
+ throw new ClientException('To the attention of user(s), not including this one.');
}
} else {
- throw new ClientException("Not to anyone in reply to anything!");
+ // TRANS: Client exception.
+ throw new ClientException('Not to anyone in reply to anything.');
}
$existing = Notice::staticGet('uri', $this->activity->objects[0]->id);
@@ -108,7 +111,6 @@ class UsersalmonAction extends SalmonAction
* We've gotten a follow/subscribe notification from a remote user.
* Save a subscription relationship for them.
*/
-
function handleFollow()
{
$oprofile = $this->ensureProfile();
@@ -152,11 +154,13 @@ class UsersalmonAction extends SalmonAction
'notice_id' => $notice->id));
if (!empty($old)) {
- throw new ClientException("We already know that's a fave!");
+ // TRANS: Client exception.
+ throw new ClientException(_('This is already a favorite.'));
}
if (!Fave::addNew($profile, $notice)) {
- throw new ClientException("Could not save new favorite.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Could not save new favorite.'));
}
}
@@ -172,7 +176,8 @@ class UsersalmonAction extends SalmonAction
$fave = Fave::pkeyGet(array('user_id' => $profile->id,
'notice_id' => $notice->id));
if (empty($fave)) {
- throw new ClientException("Notice wasn't favorited!");
+ // TRANS: Client exception.
+ throw new ClientException(_('Notice wasn\'t favorited!'));
}
$fave->delete();
@@ -186,7 +191,8 @@ class UsersalmonAction extends SalmonAction
function getNotice($object)
{
if (!$object) {
- throw new ClientException("Can't favorite/unfavorite without an object.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Can\'t favorite/unfavorite without an object.'));
}
switch ($object->type) {
@@ -197,20 +203,22 @@ class UsersalmonAction extends SalmonAction
case ActivityObject::COMMENT:
break;
default:
- throw new ClientException("Can't handle that kind of object for liking/faving.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Can\'t handle that kind of object for liking/faving.'));
}
$notice = Notice::staticGet('uri', $object->id);
if (empty($notice)) {
- throw new ClientException("Notice with ID $object->id unknown.");
+ // TRANS: Client exception. %s is an object ID.
+ throw new ClientException(sprintf(_m('Notice with ID %s unknown.'),$object->id));
}
if ($notice->profile_id != $this->user->id) {
- throw new ClientException("Notice with ID $object->id not posted by $this->user->id.");
+ // TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+ throw new ClientException(sprintf(_m('Notice with ID %1$s not posted by %2$s.'),$object->id,$this->user->id));
}
return $notice;
}
-
}
diff --git a/plugins/OStatus/actions/userxrd.php b/plugins/OStatus/actions/userxrd.php
index dd720568b..9aa7c0306 100644
--- a/plugins/OStatus/actions/userxrd.php
+++ b/plugins/OStatus/actions/userxrd.php
@@ -17,16 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+if (!defined('STATUSNET')) { exit(1); }
+
/**
* @package OStatusPlugin
* @maintainer James Walker <james@status.net>
*/
-
-if (!defined('STATUSNET')) { exit(1); }
-
class UserxrdAction extends XrdAction
{
-
function prepare($args)
{
parent::prepare($args);
@@ -46,7 +44,7 @@ class UserxrdAction extends XrdAction
$this->user = User::staticGet('uri', $this->uri);
}
if (!$this->user) {
- $this->clientError(_('No such user.'), 404);
+ $this->clientError(_m('No such user.'), 404);
return false;
}
diff --git a/plugins/OStatus/classes/FeedSub.php b/plugins/OStatus/classes/FeedSub.php
index 6f9e0856a..58beec673 100644
--- a/plugins/OStatus/classes/FeedSub.php
+++ b/plugins/OStatus/classes/FeedSub.php
@@ -39,7 +39,6 @@ PuSH subscription flow:
hub sends us updates via POST
*/
-
class FeedDBException extends FeedSubException
{
public $obj;
@@ -88,7 +87,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -143,7 +141,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -157,7 +154,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('id' => 'K', 'uri' => 'U');
@@ -249,7 +245,7 @@ class FeedSub extends Memcached_DataObject
// We'll never actually get updates in this mode.
return true;
} else {
- throw new ServerException("Attempting to start PuSH subscription for feed with no hub.");
+ throw new ServerException(_m('Attempting to start PuSH subscription for feed with no hub.'));
}
}
@@ -279,7 +275,7 @@ class FeedSub extends Memcached_DataObject
// We'll never actually get updates in this mode.
return true;
} else {
- throw new ServerException("Attempting to end PuSH subscription for feed with no hub.");
+ throw new ServerException(_m('Attempting to end PuSH subscription for feed with no hub.'));
}
}
@@ -500,5 +496,4 @@ class FeedSub extends Memcached_DataObject
}
return false;
}
-
}
diff --git a/plugins/OStatus/classes/HubSub.php b/plugins/OStatus/classes/HubSub.php
index e01ae4e79..825d36ebd 100644
--- a/plugins/OStatus/classes/HubSub.php
+++ b/plugins/OStatus/classes/HubSub.php
@@ -54,7 +54,6 @@ class HubSub extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('hashkey' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@@ -112,7 +111,6 @@ class HubSub extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('hashkey' => 'K');
@@ -206,8 +204,8 @@ class HubSub extends Memcached_DataObject
if ($status >= 200 && $status < 300) {
common_log(LOG_INFO, "Verified $mode of $this->callback:$this->topic");
} else {
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new ClientException("Hub subscriber verification returned HTTP $status");
+ // TRANS: Client exception. %s is a HTTP status code.
+ throw new ClientException(sprintf(_m('Hub subscriber verification returned HTTP %s.'),$status));
}
$old = HubSub::staticGet($this->topic, $this->callback);
@@ -353,10 +351,9 @@ class HubSub extends Memcached_DataObject
if ($response->isOk()) {
return true;
} else {
- throw new Exception("Callback returned status: " .
- $response->getStatus() .
- "; body: " .
- trim($response->getBody()));
+ // TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+ throw new Exception(sprintf(_m('Callback returned status: %1$s. Body: %2$s'),
+ $response->getStatus(),trim($response->getBody())));
}
}
}
diff --git a/plugins/OStatus/classes/Magicsig.php b/plugins/OStatus/classes/Magicsig.php
index e39a6d8f7..20025c37a 100644
--- a/plugins/OStatus/classes/Magicsig.php
+++ b/plugins/OStatus/classes/Magicsig.php
@@ -31,7 +31,6 @@ require_once 'Crypt/RSA.php';
class Magicsig extends Memcached_DataObject
{
-
const PUBLICKEYREL = 'magic-public-key';
public $__table = 'magicsig';
@@ -86,7 +85,6 @@ class Magicsig extends Memcached_DataObject
64, false));
}
-
function keys()
{
return array_keys($this->keyTypes());
@@ -126,7 +124,6 @@ class Magicsig extends Memcached_DataObject
$this->insert();
}
-
public function toString($full_pair = true)
{
$mod = Magicsig::base64_url_encode($this->publicKey->modulus->toBytes());
@@ -197,7 +194,6 @@ class Magicsig extends Memcached_DataObject
case 'RSA-SHA256':
return 'sha256';
}
-
}
public function sign($bytes)
diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php
index 19fe5169b..402d1967f 100644
--- a/plugins/OStatus/classes/Ostatus_profile.php
+++ b/plugins/OStatus/classes/Ostatus_profile.php
@@ -21,7 +21,6 @@
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
-
class Ostatus_profile extends Memcached_DataObject
{
public $__table = 'ostatus_profile';
@@ -51,7 +50,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('uri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@@ -92,7 +90,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -106,7 +103,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('uri' => 'K', 'profile_id' => 'U', 'group_id' => 'U', 'feeduri' => 'U');
@@ -188,11 +184,11 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($this->group_id && !$this->profile_id) {
return true;
} else if ($this->group_id && $this->profile_id) {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ServerException("Invalid ostatus_profile state: both group and profile IDs set for $this->uri.");
+ // TRANS: Server exception.
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs set for %s.'),$this->uri));
} else {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ServerException("Invalid ostatus_profile state: both group and profile IDs empty for $this->uri.");
+ // TRANS: Server exception.
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs empty for %s.'),$this->uri));
}
}
@@ -280,7 +276,9 @@ class Ostatus_profile extends Memcached_DataObject
if ($type == 'object') {
$type = get_class($actor);
}
- throw new ServerException("Invalid actor passed to " . __METHOD__ . ": " . $type);
+ // TRANS: Server exception.
+ // TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+ throw new ServerException(sprintf(_m('Invalid actor passed to %1$s: %2$s.'),__METHOD__,$type));
}
if ($object == null) {
$object = $this;
@@ -372,8 +370,8 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($entry instanceof Notice) {
return $preamble . $entry->asAtomEntry(true, true);
} else {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ServerException("Invalid type passed to Ostatus_profile::notify; must be XML string or Activity entry.");
+ // TRANS: Server exception.
+ throw new ServerException(_m('Invalid type passed to Ostatus_profile::notify. It must be XML string or Activity entry.'));
}
}
@@ -403,7 +401,7 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($feed->localName == 'rss') { // @fixme check namespace
$this->processRssFeed($feed, $source);
} else {
- throw new Exception("Unknown feed format.");
+ throw new Exception(_m('Unknown feed format.'));
}
}
@@ -426,7 +424,7 @@ class Ostatus_profile extends Memcached_DataObject
$channels = $rss->getElementsByTagName('channel');
if ($channels->length == 0) {
- throw new Exception("RSS feed without a channel.");
+ throw new Exception(_m('RSS feed without a channel.'));
} else if ($channels->length > 1) {
common_log(LOG_WARNING, __METHOD__ . ": more than one channel in an RSS feed");
}
@@ -470,7 +468,8 @@ class Ostatus_profile extends Memcached_DataObject
}
break;
default:
- throw new ClientException("Can't handle that kind of post.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Can\'t handle that kind of post.'));
}
Event::handle('EndHandleFeedEntry', array($activity));
@@ -552,8 +551,8 @@ class Ostatus_profile extends Memcached_DataObject
$sourceContent = $note->title;
} else {
// @fixme fetch from $sourceUrl?
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ClientException("No content for notice {$sourceUri}.");
+ // TRANS: Client exception. %s is a source URL.
+ throw new ClientException(sprintf(_m('No content for notice %s.'),$sourceUri));
}
// Get (safe!) HTML and text versions of the content
@@ -584,14 +583,17 @@ class Ostatus_profile extends Memcached_DataObject
// We mark up the attachment link specially for the HTML output
// so we can fold-out the full version inline.
+
+ // TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+ $showMoreText = _m('Show more');
$attachUrl = common_local_url('attachment',
array('attachment' => $attachment->id));
$rendered = common_render_text($shortSummary) .
'<a href="' . htmlspecialchars($attachUrl) .'"'.
' class="attachment more"' .
- ' title="'. htmlspecialchars(_m('Show more')) . '">' .
+ ' title="'. htmlspecialchars($showMoreText) . '">' .
'&#8230;' .
- '</a>'; // @todo i18n FIXME: add translator hint/context.
+ '</a>';
}
}
@@ -703,23 +705,7 @@ class Ostatus_profile extends Memcached_DataObject
continue;
}
- // Is the recipient a remote group?
- $oprofile = Ostatus_profile::ensureProfileURI($recipient);
-
- if ($oprofile) {
- if ($oprofile->isGroup()) {
- // Deliver to local members of this remote group.
- // @fixme sender verification?
- $groups[] = $oprofile->group_id;
- } else {
- // may be canonicalized or something
- $replies[] = $oprofile->uri;
- }
- continue;
- }
-
// Is the recipient a local group?
- // @fixme uri on user_group isn't reliable yet
// $group = User_group::staticGet('uri', $recipient);
$id = OStatusPlugin::localGroupFromUrl($recipient);
if ($id) {
@@ -738,7 +724,22 @@ class Ostatus_profile extends Memcached_DataObject
}
}
- common_log(LOG_DEBUG, "Skipping reply to unrecognized profile $recipient");
+ // Is the recipient a remote user or group?
+ try {
+ $oprofile = Ostatus_profile::ensureProfileURI($recipient);
+ if ($oprofile->isGroup()) {
+ // Deliver to local members of this remote group.
+ // @fixme sender verification?
+ $groups[] = $oprofile->group_id;
+ } else {
+ // may be canonicalized or something
+ $replies[] = $oprofile->uri;
+ }
+ continue;
+ } catch (Exception $e) {
+ // Neither a recognizable local nor remote user!
+ common_log(LOG_DEBUG, "Skipping reply to unrecognized profile $recipient: " . $e->getMessage());
+ }
}
$attention_uris = $replies;
@@ -776,8 +777,8 @@ class Ostatus_profile extends Memcached_DataObject
$response = $client->get($profile_url);
if (!$response->isOk()) {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new Exception("Could not reach profile page: " . $profile_url);
+ // TRANS: Exception. %s is a profile URL.
+ throw new Exception(sprintf(_m('Could not reach profile page %s.'),$profile_url));
}
// Check if we have a non-canonical URL
@@ -834,8 +835,8 @@ class Ostatus_profile extends Memcached_DataObject
return self::ensureFeedURL($feedurl, $hints);
}
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new Exception("Could not find a feed URL for profile page " . $finalUrl);
+ // TRANS: Exception.
+ throw new Exception(sprintf(_m('Could not find a feed URL for profile page %s.'),$finalUrl));
}
/**
@@ -867,7 +868,7 @@ class Ostatus_profile extends Memcached_DataObject
$user = User::staticGet('id', $profile->id);
if (!empty($user)) {
- // @todo i18n FIXME: use sprintf and add i18n.
+ // @todo i18n FIXME: use sprintf and add i18n (?)
throw new OStatusShadowException($profile, "'$profile_url' is the profile for local user '{$user->nickname}'.");
}
@@ -972,8 +973,7 @@ class Ostatus_profile extends Memcached_DataObject
}
// XXX: make some educated guesses here
-
- throw new FeedSubException("Can't find enough profile information to make a feed.");
+ throw new FeedSubException(_m('Can\'t find enough profile information to make a feed.'));
}
/**
@@ -1271,13 +1271,13 @@ class Ostatus_profile extends Memcached_DataObject
$user = User::staticGet('uri', $homeuri);
if ($user) {
- // @todo i18n FIXME: add i18n.
- throw new Exception("Local user can't be referenced as remote.");
+ // TRANS: Exception.
+ throw new Exception(_m('Local user can\'t be referenced as remote.'));
}
if (OStatusPlugin::localGroupFromUrl($homeuri)) {
- // @todo i18n FIXME: add i18n.
- throw new Exception("Local group can't be referenced as remote.");
+ // TRANS: Exception.
+ throw new Exception(_m('Local group can\'t be referenced as remote.'));
}
if (array_key_exists('feedurl', $hints)) {
@@ -1328,8 +1328,8 @@ class Ostatus_profile extends Memcached_DataObject
$oprofile->profile_id = $profile->insert();
if (!$oprofile->profile_id) {
- // @todo i18n FIXME: add i18n.
- throw new ServerException("Can't save local profile.");
+ // TRANS: Exception.
+ throw new ServerException(_m('Can\'t save local profile.'));
}
} else {
$group = new User_group();
@@ -1339,16 +1339,16 @@ class Ostatus_profile extends Memcached_DataObject
$oprofile->group_id = $group->insert();
if (!$oprofile->group_id) {
- // @todo i18n FIXME: add i18n.
- throw new ServerException("Can't save local profile.");
+ // TRANS: Exception.
+ throw new ServerException(_m('Can\'t save local profile.'));
}
}
$ok = $oprofile->insert();
if (!$ok) {
- // @todo i18n FIXME: add i18n.
- throw new ServerException("Can't save OStatus profile.");
+ // TRANS: Exception.
+ throw new ServerException(_m('Can\'t save OStatus profile.'));
}
$avatar = self::getActivityObjectAvatar($object, $hints);
@@ -1606,8 +1606,8 @@ class Ostatus_profile extends Memcached_DataObject
if ($uri !== false) {
if (is_null($uri)) {
// Negative cache entry
- // @todo i18n FIXME: add i18n.
- throw new Exception('Not a valid webfinger address.');
+ // TRANS: Exception.
+ throw new Exception(_m('Not a valid webfinger address.'));
}
$oprofile = Ostatus_profile::staticGet('uri', $uri);
if (!empty($oprofile)) {
@@ -1634,8 +1634,8 @@ class Ostatus_profile extends Memcached_DataObject
// Save negative cache entry so we don't waste time looking it up again.
// @fixme distinguish temporary failures?
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), null);
- // @todo i18n FIXME: add i18n.
- throw new Exception('Not a valid webfinger address.');
+ // TRANS: Exception.
+ throw new Exception(_m('Not a valid webfinger address.'));
}
$hints = array('webfinger' => $addr);
@@ -1716,8 +1716,8 @@ class Ostatus_profile extends Memcached_DataObject
if (!$profile_id) {
common_log_db_error($profile, 'INSERT', __FILE__);
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new Exception("Couldn't save profile for '$addr'.");
+ // TRANS: Exception. %s is a webfinger address.
+ throw new Exception(sprintf(_m('Couldn\'t save profile for "%s".'),$addr));
}
$oprofile = new Ostatus_profile();
@@ -1735,16 +1735,16 @@ class Ostatus_profile extends Memcached_DataObject
if (!$result) {
common_log_db_error($oprofile, 'INSERT', __FILE__);
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new Exception("Couldn't save ostatus_profile for '$addr'.");
+ // TRANS: Exception. %s is a webfinger address.
+ throw new Exception(sprintf(_m('Couldn\'t save ostatus_profile for "%s".'),$addr));
}
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
return $oprofile;
}
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new Exception("Couldn't find a valid profile for '$addr'");
+ // TRANS: Exception. %s is a webfinger address.
+ throw new Exception(sprintf(_m('Couldn\'t find a valid profile for "%s".'),$addr));
}
/**
@@ -1786,7 +1786,7 @@ class Ostatus_profile extends Memcached_DataObject
if ($file_id === false) {
common_log_db_error($file, "INSERT", __FILE__);
- throw new ServerException(_('Could not store HTML content of long post as file.'));
+ throw new ServerException(_m('Could not store HTML content of long post as file.'));
}
return $file;
diff --git a/plugins/OStatus/classes/Ostatus_source.php b/plugins/OStatus/classes/Ostatus_source.php
index e6ce7d442..b76bbce56 100644
--- a/plugins/OStatus/classes/Ostatus_source.php
+++ b/plugins/OStatus/classes/Ostatus_source.php
@@ -21,7 +21,6 @@
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
-
class Ostatus_source extends Memcached_DataObject
{
public $__table = 'ostatus_source';
@@ -43,7 +42,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('notice_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -69,7 +67,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -83,7 +80,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('notice_id' => 'K');
diff --git a/plugins/OStatus/lib/discovery.php b/plugins/OStatus/lib/discovery.php
index 04c672720..905ece2ca 100644
--- a/plugins/OStatus/lib/discovery.php
+++ b/plugins/OStatus/lib/discovery.php
@@ -106,8 +106,8 @@ class Discovery
}
}
- // @todo Needs i18n.
- throw new Exception('Unable to find services for '. $id . '.');
+ // TRANS: Exception.
+ throw new Exception(sprintf(_m('Unable to find services for %s.'),$id));
}
public static function getService($links, $service) {
diff --git a/plugins/OStatus/lib/discoveryhints.php b/plugins/OStatus/lib/discoveryhints.php
index fa2ead732..a98f4a6d6 100644
--- a/plugins/OStatus/lib/discoveryhints.php
+++ b/plugins/OStatus/lib/discoveryhints.php
@@ -20,7 +20,6 @@
*/
class DiscoveryHints {
-
static function fromXRD($xrd)
{
$hints = array();
diff --git a/plugins/OStatus/lib/linkheader.php b/plugins/OStatus/lib/linkheader.php
index cd78d31ce..efa3f65ff 100644
--- a/plugins/OStatus/lib/linkheader.php
+++ b/plugins/OStatus/lib/linkheader.php
@@ -1,4 +1,7 @@
<?php
+/**
+ * @todo Add file header and documentation.
+ */
class LinkHeader
{
diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php
index bbd4ce17a..03e6f7c66 100644
--- a/plugins/OStatus/lib/magicenvelope.php
+++ b/plugins/OStatus/lib/magicenvelope.php
@@ -76,7 +76,8 @@ class MagicEnvelope
}
}
}
- throw new Exception('Unable to locate signer public key.');
+ // TRANS: Exception.
+ throw new Exception(_m('Unable to locate signer public key.'));
}
@@ -92,7 +93,6 @@ class MagicEnvelope
'sig' => $signature_alg->sign($armored_text),
'alg' => $signature_alg->getName()
);
-
}
public function toXML($env) {
@@ -110,7 +110,6 @@ class MagicEnvelope
return $string;
}
-
public function unfold($env)
{
$dom = new DOMDocument();
@@ -218,5 +217,4 @@ class MagicEnvelope
'sig' => preg_replace('/\s/', '', $sig_element->nodeValue),
);
}
-
}
diff --git a/plugins/OStatus/lib/ostatusqueuehandler.php b/plugins/OStatus/lib/ostatusqueuehandler.php
index 9814cab9f..5e0ab46a5 100644
--- a/plugins/OStatus/lib/ostatusqueuehandler.php
+++ b/plugins/OStatus/lib/ostatusqueuehandler.php
@@ -221,5 +221,4 @@ class OStatusQueueHandler extends QueueHandler
return $feed;
}
-
}
diff --git a/plugins/OStatus/lib/pushinqueuehandler.php b/plugins/OStatus/lib/pushinqueuehandler.php
index 1fd29ae30..965d04266 100644
--- a/plugins/OStatus/lib/pushinqueuehandler.php
+++ b/plugins/OStatus/lib/pushinqueuehandler.php
@@ -22,7 +22,6 @@
* @package FeedSub
* @author Brion Vibber <brion@status.net>
*/
-
class PushInQueueHandler extends QueueHandler
{
function transport()
diff --git a/plugins/OStatus/lib/salmon.php b/plugins/OStatus/lib/salmon.php
index 631ebc7d8..963da6508 100644
--- a/plugins/OStatus/lib/salmon.php
+++ b/plugins/OStatus/lib/salmon.php
@@ -89,8 +89,8 @@ class Salmon
$magickey->generate($user->id);
}
} else {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new Exception("Salmon invalid actor for signing.");
+ // TRANS: Exception.
+ throw new Exception(_m('Salmon invalid actor for signing.'));
}
try {
@@ -101,7 +101,6 @@ class Salmon
return $magic_env->toXML($env);
}
-
public function verifyMagicEnv($text)
{
$magic_env = new MagicEnvelope();
diff --git a/plugins/OStatus/lib/salmonaction.php b/plugins/OStatus/lib/salmonaction.php
index f97c67edd..41bdb4892 100644
--- a/plugins/OStatus/lib/salmonaction.php
+++ b/plugins/OStatus/lib/salmonaction.php
@@ -38,11 +38,12 @@ class SalmonAction extends Action
parent::prepare($args);
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- // TRANS: POST is a HTTP command. It should not be translated.
+ // TRANS: Client error. POST is a HTTP command. It should not be translated.
$this->clientError(_m('This method requires a POST.'));
}
if (empty($_SERVER['CONTENT_TYPE']) || $_SERVER['CONTENT_TYPE'] != 'application/magic-envelope+xml') {
+ // TRANS: Client error. Do not translate "application/magic-envelope+xml"
$this->clientError(_m('Salmon requires "application/magic-envelope+xml".'));
}
@@ -52,6 +53,7 @@ class SalmonAction extends Action
$salmon = new Salmon;
if (!$salmon->verifyMagicEnv($xml)) {
common_log(LOG_DEBUG, "Salmon signature verification failed.");
+ // TRANS: Client error.
$this->clientError(_m('Salmon signature verification failed.'));
} else {
$magic_env = new MagicEnvelope();
@@ -63,6 +65,7 @@ class SalmonAction extends Action
if ($dom->documentElement->namespaceURI != Activity::ATOM ||
$dom->documentElement->localName != 'entry') {
common_log(LOG_DEBUG, "Got invalid Salmon post: $xml");
+ // TRANS: Client error.
$this->clientError(_m('Salmon post must be an Atom entry.'));
}
@@ -111,6 +114,7 @@ class SalmonAction extends Action
$this->handleUpdateProfile();
break;
default:
+ // TRANS: Client exception.
throw new ClientException(_m("Unrecognized activity type."));
}
Event::handle('EndHandleSalmon', array($this->activity));
@@ -119,41 +123,49 @@ class SalmonAction extends Action
function handlePost()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand posts."));
}
function handleFollow()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand follows."));
}
function handleUnfollow()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand unfollows."));
}
function handleFavorite()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand favorites."));
}
function handleUnfavorite()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand unfavorites."));
}
function handleShare()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand share events."));
}
function handleJoin()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand joins."));
}
function handleLeave()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand leave events."));
}
@@ -181,7 +193,8 @@ class SalmonAction extends Action
if (empty($actor->id)) {
common_log(LOG_ERR, "broken actor: " . var_export($actor, true));
common_log(LOG_ERR, "activity with no actor: " . var_export($this->activity, true));
- throw new Exception("Received a salmon slap from unidentified actor.");
+ // TRANS: Exception.
+ throw new Exception(_m('Received a salmon slap from unidentified actor.'));
}
return Ostatus_profile::ensureActivityObjectProfile($actor);
diff --git a/plugins/OStatus/lib/xrd.php b/plugins/OStatus/lib/xrd.php
index 145cd64cb..c8cffed9c 100644
--- a/plugins/OStatus/lib/xrd.php
+++ b/plugins/OStatus/lib/xrd.php
@@ -27,7 +27,6 @@
* @link http://status.net/
*/
-
class XRD
{
const XML_NS = 'http://www.w3.org/2000/xmlns/';
@@ -61,11 +60,13 @@ class XRD
error_reporting($old);
if (!$ok) {
- throw new Exception("Invalid XML.");
+ // TRANS: Exception.
+ throw new Exception(_m('Invalid XML.'));
}
$xrd_element = $dom->getElementsByTagName('XRD')->item(0);
if (!$xrd_element) {
- throw new Exception("Invalid XML, missing XRD root.");
+ // TRANS: Exception.
+ throw new Exception(_m('Invalid XML, missing XRD root.'));
}
// Check for host-meta host
diff --git a/plugins/OStatus/lib/xrdaction.php b/plugins/OStatus/lib/xrdaction.php
index 91bb87cc2..c8b5beff3 100644
--- a/plugins/OStatus/lib/xrdaction.php
+++ b/plugins/OStatus/lib/xrdaction.php
@@ -103,5 +103,4 @@ class XrdAction extends Action
header('Content-type: application/xrd+xml');
print $xrd->toXML();
}
-
}
diff --git a/plugins/OStatus/locale/OStatus.pot b/plugins/OStatus/locale/OStatus.pot
index 3dc6fd6ad..882e8d308 100644
--- a/plugins/OStatus/locale/OStatus.pot
+++ b/plugins/OStatus/locale/OStatus.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,61 +16,183 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: OStatusPlugin.php:226 OStatusPlugin.php:951 actions/ostatusinit.php:99
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:958
msgid "Subscribe"
msgstr ""
-#: OStatusPlugin.php:244 OStatusPlugin.php:663 actions/ostatussub.php:105
-#: actions/ostatusinit.php:96
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:667 actions/ostatussub.php:107
msgid "Join"
msgstr ""
-#: OStatusPlugin.php:456
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
#, php-format
msgid "Sent from %s via OStatus"
msgstr ""
-#: OStatusPlugin.php:527
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
msgid "Could not set up remote subscription."
msgstr ""
-#: OStatusPlugin.php:647
+#: OStatusPlugin.php:570
+msgid "Follow"
+msgstr ""
+
+#. TRANS: Success message for subscribe to user attempt through OStatus.
+#. TRANS: %1$s is the subscriber name, %2$s is the subscribed user's name.
+#: OStatusPlugin.php:573
+#, php-format
+msgid "%1$s is now following %2$s."
+msgstr ""
+
+#: OStatusPlugin.php:620
+msgid "Unfollow"
+msgstr ""
+
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:623
+#, php-format
+msgid "%1$s stopped following %2$s."
+msgstr ""
+
+#: OStatusPlugin.php:651
msgid "Could not set up remote group membership."
msgstr ""
-#: OStatusPlugin.php:674
+#. TRANS: Exception.
+#: OStatusPlugin.php:679
msgid "Failed joining remote group."
msgstr ""
-#: OStatusPlugin.php:714
+#: OStatusPlugin.php:719
msgid "Leave"
msgstr ""
-#: OStatusPlugin.php:880
+#: OStatusPlugin.php:760
+msgid "Favor"
+msgstr ""
+
+#. TRANS: Success message for adding a favorite notice through OStatus.
+#. TRANS: %1$s is the favoring user's name, %2$s is URI to the favored notice.
+#: OStatusPlugin.php:763
+#, php-format
+msgid "%1$s marked notice %2$s as a favorite."
+msgstr ""
+
+#: OStatusPlugin.php:806
+msgid "Disfavor"
+msgstr ""
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:809
+#, php-format
+msgid "%1$s marked notice %2$s as no longer a favorite."
+msgstr ""
+
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:885
msgid "Remote"
msgstr ""
-#: OStatusPlugin.php:919
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:925
msgid "Profile update"
msgstr ""
#. TRANS: Ping text for remote profile update through OStatus.
#. TRANS: %s is user that updated their profile.
-#: OStatusPlugin.php:922
+#: OStatusPlugin.php:928
#, php-format
msgid "%s has updated their profile page."
msgstr ""
-#: OStatusPlugin.php:966
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:973
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
"org/\">OStatus</a>."
msgstr ""
-#: classes/Ostatus_profile.php:592
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr ""
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr ""
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr ""
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr ""
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr ""
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr ""
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr ""
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
msgid "Show more"
msgstr ""
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr ""
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr ""
+
#: classes/Ostatus_profile.php:1035
#, php-format
msgid "Invalid avatar URL %s."
@@ -86,239 +208,554 @@ msgstr ""
msgid "Unable to fetch avatar from %s."
msgstr ""
-#. TRANS: POST is a HTTP command. It should not be translated.
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr ""
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr ""
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr ""
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr ""
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
+msgstr ""
+
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
+#, php-format
+msgid "Hub subscriber verification returned HTTP %s."
+msgstr ""
+
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
+#, php-format
+msgid "Callback returned status: %1$s. Body: %2$s"
+msgstr ""
+
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
#: lib/salmonaction.php:42
msgid "This method requires a POST."
msgstr ""
-#: lib/salmonaction.php:46
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr ""
-#: lib/salmonaction.php:55
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
msgid "Salmon signature verification failed."
msgstr ""
-#: lib/salmonaction.php:66
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
msgid "Salmon post must be an Atom entry."
msgstr ""
-#: lib/salmonaction.php:114
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
msgid "Unrecognized activity type."
msgstr ""
-#: lib/salmonaction.php:122
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
msgid "This target doesn't understand posts."
msgstr ""
-#: lib/salmonaction.php:127
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
msgid "This target doesn't understand follows."
msgstr ""
-#: lib/salmonaction.php:132
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
msgid "This target doesn't understand unfollows."
msgstr ""
-#: lib/salmonaction.php:137
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
msgid "This target doesn't understand favorites."
msgstr ""
-#: lib/salmonaction.php:142
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
msgid "This target doesn't understand unfavorites."
msgstr ""
-#: lib/salmonaction.php:147
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
msgid "This target doesn't understand share events."
msgstr ""
-#: lib/salmonaction.php:152
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
msgid "This target doesn't understand joins."
msgstr ""
-#: lib/salmonaction.php:157
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
msgid "This target doesn't understand leave events."
msgstr ""
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr ""
+
#: tests/gettext-speedtest.php:57
msgid "Feeds"
msgstr ""
-#: actions/ostatusgroup.php:75
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr ""
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr ""
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr ""
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr ""
+
+#: actions/userxrd.php:47 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr ""
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr ""
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr ""
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr ""
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
msgid "Join group"
msgstr ""
-#: actions/ostatusgroup.php:77
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr ""
-#: actions/ostatusgroup.php:81 actions/ostatussub.php:71
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
msgid "Continue"
msgstr ""
-#: actions/ostatusgroup.php:100
+#: actions/ostatusgroup.php:103
msgid "You are already a member of this group."
msgstr ""
#. TRANS: OStatus remote group subscription dialog error.
-#: actions/ostatusgroup.php:135
+#: actions/ostatusgroup.php:138
msgid "Already a member!"
msgstr ""
#. TRANS: OStatus remote group subscription dialog error.
-#: actions/ostatusgroup.php:146
+#: actions/ostatusgroup.php:149
msgid "Remote group join failed!"
msgstr ""
#. TRANS: OStatus remote group subscription dialog error.
-#: actions/ostatusgroup.php:150
+#: actions/ostatusgroup.php:153
msgid "Remote group join aborted!"
msgstr ""
#. TRANS: Page title for OStatus remote group join form
-#: actions/ostatusgroup.php:163
+#: actions/ostatusgroup.php:165
msgid "Confirm joining remote group"
msgstr ""
-#: actions/ostatusgroup.php:174
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
msgstr ""
-#: actions/groupsalmon.php:51
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr ""
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
msgid "Can't accept remote posts for a remote group."
msgstr ""
-#: actions/groupsalmon.php:124
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
msgid "Can't read profile to set up group membership."
msgstr ""
-#: actions/groupsalmon.php:127 actions/groupsalmon.php:170
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
msgid "Groups can't join groups."
msgstr ""
-#: actions/groupsalmon.php:154
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr ""
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
#, php-format
msgid "Could not join remote user %1$s to group %2$s."
msgstr ""
-#: actions/groupsalmon.php:167
+#: actions/groupsalmon.php:171
msgid "Can't read profile to cancel group membership."
msgstr ""
-#: actions/groupsalmon.php:183
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
#, php-format
msgid "Could not remove remote user %1$s from group %2$s."
msgstr ""
-#: actions/ostatussub.php:65
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
msgid "Subscribe to"
msgstr ""
-#: actions/ostatussub.php:67
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
-#: actions/ostatussub.php:106
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
msgid "Join this group"
msgstr ""
-#. TRANS: Page title for OStatus remote subscription form
-#: actions/ostatussub.php:108 actions/ostatussub.php:400
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
msgid "Confirm"
msgstr ""
-#: actions/ostatussub.php:109
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
msgid "Subscribe to this user"
msgstr ""
-#: actions/ostatussub.php:130
+#: actions/ostatussub.php:136
msgid "You are already subscribed to this user."
msgstr ""
-#: actions/ostatussub.php:247 actions/ostatussub.php:253
-#: actions/ostatussub.php:272
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr ""
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr ""
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr ""
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr ""
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr ""
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
-#: actions/ostatussub.php:256 actions/ostatussub.php:259
-#: actions/ostatussub.php:262 actions/ostatussub.php:265
-#: actions/ostatussub.php:268
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
"later."
msgstr ""
#. TRANS: OStatus remote subscription dialog error.
-#: actions/ostatussub.php:301
+#: actions/ostatussub.php:315
msgid "Already subscribed!"
msgstr ""
#. TRANS: OStatus remote subscription dialog error.
-#: actions/ostatussub.php:306
+#: actions/ostatussub.php:320
msgid "Remote subscription failed!"
msgstr ""
-#: actions/ostatussub.php:380 actions/ostatusinit.php:81
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
msgid "Subscribe to user"
msgstr ""
-#: actions/ostatussub.php:411
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr ""
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
msgid ""
"You can subscribe to users from other supported sites. Paste their address "
"or profile URI below:"
msgstr ""
+#. TRANS: Client error.
#: actions/ostatusinit.php:41
msgid "You can use the local subscription!"
msgstr ""
-#: actions/ostatusinit.php:63
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: actions/ostatusinit.php:95
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
#, php-format
msgid "Join group %s"
msgstr ""
-#: actions/ostatusinit.php:98
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr ""
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
#, php-format
msgid "Subscribe to %s"
msgstr ""
-#: actions/ostatusinit.php:111
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr ""
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
msgid "User nickname"
msgstr ""
-#: actions/ostatusinit.php:112
+#: actions/ostatusinit.php:118
msgid "Nickname of the user you want to follow."
msgstr ""
-#: actions/ostatusinit.php:116
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
msgid "Profile Account"
msgstr ""
-#: actions/ostatusinit.php:117
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
msgid "Your account id (e.g. user@identi.ca)."
msgstr ""
-#: actions/ostatusinit.php:138
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
msgid "Must provide a remote profile."
msgstr ""
-#: actions/ostatusinit.php:149
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
msgid "Couldn't look up OStatus account profile."
msgstr ""
-#: actions/ostatusinit.php:161
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
msgid "Couldn't confirm remote profile address."
msgstr ""
-#: actions/ostatusinit.php:202
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
msgid "OStatus Connect"
msgstr ""
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr ""
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr ""
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr ""
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr ""
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr ""
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr ""
diff --git a/plugins/OStatus/tests/remote-tests.php b/plugins/OStatus/tests/remote-tests.php
index c2c9a5d97..64c60a8a4 100644
--- a/plugins/OStatus/tests/remote-tests.php
+++ b/plugins/OStatus/tests/remote-tests.php
@@ -4,6 +4,8 @@ if (php_sapi_name() != 'cli') {
die('not for web');
}
+define('TIMEOUT', 60); // ssslllloowwwww salmon if queues are off
+
define('INSTALLDIR', dirname(dirname(dirname(dirname(__FILE__)))));
set_include_path(INSTALLDIR . '/extlib' . PATH_SEPARATOR . get_include_path());
@@ -188,7 +190,7 @@ class SNTestClient extends TestBase
{
$url = $this->basepath . '/' . $path;
- $http = new HTTP_Request2($url, 'POST');
+ $http = new HTTP_Request2($url, 'POST', array('timeout' => TIMEOUT));
if ($auth) {
$http->setAuth($this->username, $this->password, HTTP_Request2::AUTH_BASIC);
}
@@ -215,7 +217,7 @@ class SNTestClient extends TestBase
protected function web($path, $form, $params=array())
{
$url = $this->basepath . '/' . $path;
- $http = new HTTP_Request2($url, 'GET');
+ $http = new HTTP_Request2($url, 'GET', array('timeout' => TIMEOUT));
$response = $http->send();
$dom = $this->checkWeb($url, 'GET', $response);
diff --git a/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php b/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php
index 6756f1993..611f5e5c7 100644
--- a/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php
+++ b/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php
@@ -57,8 +57,7 @@ class OpenExternalLinkTargetPlugin extends Plugin
'author' => 'Sarven Capadisli',
'homepage' => 'http://status.net/wiki/Plugin:OpenExternalLinkTarget',
'rawdescription' =>
- _m('Opens external links (i.e., with rel=external) on a new window or tab'));
+ _m('Opens external links (e.g., with rel=external) on a new window or tab.'));
return true;
}
}
-
diff --git a/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot b/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot
index 2fbe4cfa2..4ceaddf18 100644
--- a/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot
+++ b/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,5 +17,5 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: OpenExternalLinkTargetPlugin.php:60
-msgid "Opens external links (i.e., with rel=external) on a new window or tab"
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
msgstr ""
diff --git a/plugins/OpenID/locale/OpenID.pot b/plugins/OpenID/locale/OpenID.pot
index 0a84e060d..033eab320 100644
--- a/plugins/OpenID/locale/OpenID.pot
+++ b/plugins/OpenID/locale/OpenID.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
index b353d7255..777fd9c5d 100644
--- a/plugins/PiwikAnalyticsPlugin.php
+++ b/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
@@ -49,7 +49,6 @@ if (!defined('STATUSNET')) {
* analytics setup - for example '8'.
*
*/
-
class PiwikAnalyticsPlugin extends Plugin
{
/** the base of your Piwik installation */
@@ -63,7 +62,6 @@ class PiwikAnalyticsPlugin extends Plugin
* @param string $root Piwik root URL
* @param string $id Piwik ID of this app
*/
-
function __construct($root=null, $id=null)
{
$this->piwikroot = $root;
@@ -78,7 +76,6 @@ class PiwikAnalyticsPlugin extends Plugin
*
* @return boolean ignored
*/
-
function onEndShowScripts($action)
{
$piwikCode1 = <<<ENDOFPIWIK
@@ -105,8 +102,7 @@ ENDOFPIWIK;
'author' => 'Tobias Diekershoff, Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Piwik',
'rawdescription' =>
- _m('Use <a href="http://piwik.org/">Piwik</a> Open Source Web analytics software.'));
+ _m('Use <a href="http://piwik.org/">Piwik</a> Open Source web analytics software.'));
return true;
}
-
}
diff --git a/plugins/PiwikAnalytics/locale/PiwikAnalytics.pot b/plugins/PiwikAnalytics/locale/PiwikAnalytics.pot
new file mode 100644
index 000000000..2afaaaa2d
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/PiwikAnalytics.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
diff --git a/plugins/PostDebug/locale/PostDebug.pot b/plugins/PostDebug/locale/PostDebug.pot
index 0e9d76803..1d67b7510 100644
--- a/plugins/PostDebug/locale/PostDebug.pot
+++ b/plugins/PostDebug/locale/PostDebug.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php b/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
index fb4eff738..f2e2fcbaf 100644
--- a/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
+++ b/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
@@ -47,6 +47,7 @@ class PoweredByStatusNetPlugin extends Plugin
{
$action->text(' ');
$action->elementStart('span', 'poweredby');
+ // TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
$action->raw(sprintf(_m('powered by %s'),
sprintf('<a href="http://status.net/">%s</a>',
_m('StatusNet'))));
@@ -62,7 +63,7 @@ class PoweredByStatusNetPlugin extends Plugin
'author' => 'Sarven Capadisli',
'homepage' => 'http://status.net/wiki/Plugin:PoweredByStatusNet',
'rawdescription' =>
- _m('Outputs powered by <a href="http://status.net/">StatusNet</a> after site name.'));
+ _m('Outputs "powered by <a href="http://status.net/">StatusNet</a>" after site name.'));
return true;
}
}
diff --git a/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot b/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot
index 1997cc04a..77c1822c4 100644
--- a/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot
+++ b/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,17 +16,18 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: PoweredByStatusNetPlugin.php:50
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
#, php-format
msgid "powered by %s"
msgstr ""
-#: PoweredByStatusNetPlugin.php:52
+#: PoweredByStatusNetPlugin.php:53
msgid "StatusNet"
msgstr ""
-#: PoweredByStatusNetPlugin.php:65
+#: PoweredByStatusNetPlugin.php:66
msgid ""
-"Outputs powered by <a href=\"http://status.net/\">StatusNet</a> after site "
-"name."
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
msgstr ""
diff --git a/plugins/PtitUrl/locale/PtitUrl.pot b/plugins/PtitUrl/locale/PtitUrl.pot
index b2f5947af..c7a8b0667 100644
--- a/plugins/PtitUrl/locale/PtitUrl.pot
+++ b/plugins/PtitUrl/locale/PtitUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/RSSCloud/LoggingAggregator.php b/plugins/RSSCloud/LoggingAggregator.php
index e37eed16a..c7d7a40e3 100644
--- a/plugins/RSSCloud/LoggingAggregator.php
+++ b/plugins/RSSCloud/LoggingAggregator.php
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
**/
class LoggingAggregatorAction extends Action
{
-
var $challenge = null;
var $url = null;
@@ -58,7 +57,6 @@ class LoggingAggregatorAction extends Action
*
* @return boolean false if user doesn't exist
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -79,22 +77,20 @@ class LoggingAggregatorAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
if (empty($this->url)) {
- $this->showError('Hey, you have to provide a url parameter.');
+ $this->showError(_('A URL parameter is required.'));
return;
}
if (!empty($this->challenge)) {
// must be a GET
-
if ($_SERVER['REQUEST_METHOD'] != 'GET') {
- $this->showError('This resource requires an HTTP GET.');
+ $this->showError(_m('This resource requires an HTTP GET.'));
return;
}
@@ -104,9 +100,8 @@ class LoggingAggregatorAction extends Action
} else {
// must be a POST
-
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->showError('This resource requires an HTTP POST.');
+ $this->showError(_m('This resource requires an HTTP POST.'));
return;
}
@@ -128,7 +123,6 @@ class LoggingAggregatorAction extends Action
*
* @return void
*/
-
function showError($msg)
{
header('HTTP/1.1 400 Bad Request');
@@ -136,5 +130,4 @@ class LoggingAggregatorAction extends Action
echo "<?xml version='1.0'?>\n";
echo "<notifyResult success='false' msg='$msg' />\n";
}
-
-} \ No newline at end of file
+}
diff --git a/plugins/RSSCloud/RSSCloudNotifier.php b/plugins/RSSCloud/RSSCloudNotifier.php
index 9e7b53680..1f0eab47e 100644
--- a/plugins/RSSCloud/RSSCloudNotifier.php
+++ b/plugins/RSSCloud/RSSCloudNotifier.php
@@ -235,6 +235,4 @@ class RSSCloudNotifier
}
}
}
-
}
-
diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php
index c1951cdbf..bba0be515 100644
--- a/plugins/RSSCloud/RSSCloudPlugin.php
+++ b/plugins/RSSCloud/RSSCloudPlugin.php
@@ -247,10 +247,9 @@ class RSSCloudPlugin extends Plugin
'rawdescription' =>
_m('The RSSCloud plugin enables your StatusNet instance to publish ' .
'real-time updates for profile RSS feeds using the ' .
- '<a href="http://rsscloud.org/">RSSCloud protocol</a>".'));
+ '<a href="http://rsscloud.org/">RSSCloud protocol</a>.'));
return true;
}
}
-
diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php
index ef11eda2e..8a0997748 100644
--- a/plugins/RSSCloud/RSSCloudQueueHandler.php
+++ b/plugins/RSSCloud/RSSCloudQueueHandler.php
@@ -38,4 +38,3 @@ class RSSCloudQueueHandler extends QueueHandler
return $notifier->notify($profile);
}
}
-
diff --git a/plugins/RSSCloud/RSSCloudRequestNotify.php b/plugins/RSSCloud/RSSCloudRequestNotify.php
index 030529534..e9c0eab5f 100644
--- a/plugins/RSSCloud/RSSCloudRequestNotify.php
+++ b/plugins/RSSCloud/RSSCloudRequestNotify.php
@@ -41,7 +41,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 RSSCloudRequestNotifyAction extends Action
{
/**
@@ -51,7 +50,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean false if user doesn't exist
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -84,13 +82,12 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->showResult(false, 'Request must be POST.');
+ $this->showResult(false, _m('Request must be POST.'));
return;
}
@@ -107,7 +104,7 @@ class RSSCloudRequestNotifyAction extends Action
if (empty($this->protocol)) {
$missing[] = 'protocol';
} else if (strtolower($this->protocol) != 'http-post') {
- $msg = 'Only http-post notifications are supported at this time.';
+ $msg = _m('Only http-post notifications are supported at this time.');
$this->showResult(false, $msg);
return;
}
@@ -117,15 +114,15 @@ class RSSCloudRequestNotifyAction extends Action
}
if (!empty($missing)) {
- $msg = 'The following parameters were missing from the request body: ' .
- implode(', ', $missing) . '.';
+ // TRANS: %s is a comma separated list of parameters.
+ $msg = sprintf(_m('The following parameters were missing from the request body: %s.'),implode(', ', $missing));
$this->showResult(false, $msg);
return;
}
if (empty($this->feeds)) {
- $msg = 'You must provide at least one valid profile feed url ' .
- '(url1, url2, url3 ... urlN).';
+ $msg = _m('You must provide at least one valid profile feed url ' .
+ '(url1, url2, url3 ... urlN).');
$this->showResult(false, $msg);
return;
}
@@ -133,7 +130,6 @@ class RSSCloudRequestNotifyAction extends Action
// We have to validate everything before saving anything.
// We only return one success or failure no matter how
// many feeds the subscriber is trying to subscribe to
-
foreach ($this->feeds as $feed) {
if (!$this->validateFeed($feed)) {
@@ -142,18 +138,17 @@ class RSSCloudRequestNotifyAction extends Action
common_log(LOG_WARNING,
"RSSCloud plugin - $nh tried to subscribe to invalid feed: $feed");
- $msg = 'Feed subscription failed - Not a valid feed.';
+ $msg = _m('Feed subscription failed: Not a valid feed.');
$this->showResult(false, $msg);
return;
}
if (!$this->testNotificationHandler($feed)) {
- $msg = 'Feed subscription failed - ' .
- 'notification handler doesn\'t respond correctly.';
+ $msg = _m('Feed subscription failed - ' .
+ 'notification handler doesn\'t respond correctly.');
$this->showResult(false, $msg);
return;
}
-
}
foreach ($this->feeds as $feed) {
@@ -163,9 +158,8 @@ class RSSCloudRequestNotifyAction extends Action
// XXX: What to do about deleting stale subscriptions?
// 25 hours seems harsh. WordPress doesn't ever remove
// subscriptions.
-
- $msg = 'Thanks for the subscription. ' .
- 'When the feed(s) update(s) we\'ll notify you.';
+ $msg = _m('Thanks for the subscription. ' .
+ 'When the feed(s) update(s), you will be notified.');
$this->showResult(true, $msg);
}
@@ -178,7 +172,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return void
*/
-
function validateFeed($feed)
{
$user = $this->userFromFeed($feed);
@@ -196,7 +189,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return array $feeds the list of feeds
*/
-
function getFeeds()
{
$feeds = array();
@@ -218,7 +210,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success result
*/
-
function testNotificationHandler($feed)
{
$notifyUrl = $this->getNotifyUrl();
@@ -226,9 +217,7 @@ class RSSCloudRequestNotifyAction extends Action
$notifier = new RSSCloudNotifier();
if (isset($this->domain)) {
-
// 'domain' param set, so we have to use GET and send a challenge
-
common_log(LOG_INFO,
'RSSCloud plugin - Testing notification handler with challenge: ' .
$notifyUrl);
@@ -248,7 +237,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return string notification handler url
*/
-
function getNotifyUrl()
{
if (isset($this->domain)) {
@@ -267,12 +255,10 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success
*/
-
function userFromFeed($feed)
{
// We only do canonical RSS2 profile feeds (specified by ID), e.g.:
// http://www.example.com/api/statuses/user_timeline/2.rss
-
$path = common_path('api/statuses/user_timeline/');
$valid = '%^' . $path . '(?<id>.*)\.rss$%';
@@ -293,7 +279,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success result
*/
-
function saveSubscription($feed)
{
$user = $this->userFromFeed($feed);
@@ -334,7 +319,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success result
*/
-
function showResult($success, $msg)
{
$this->startXML();
@@ -343,6 +327,4 @@ class RSSCloudRequestNotifyAction extends Action
'msg' => $msg));
$this->endXML();
}
-
}
-
diff --git a/plugins/RSSCloud/RSSCloudSubscription.php b/plugins/RSSCloud/RSSCloudSubscription.php
index 396c604e7..595af8844 100644
--- a/plugins/RSSCloud/RSSCloudSubscription.php
+++ b/plugins/RSSCloud/RSSCloudSubscription.php
@@ -75,5 +75,4 @@ class RSSCloudSubscription extends Memcached_DataObject {
return false;
}
-
}
diff --git a/plugins/RSSCloud/locale/RSSCloud.pot b/plugins/RSSCloud/locale/RSSCloud.pot
index c7b28632b..c91f21f33 100644
--- a/plugins/RSSCloud/locale/RSSCloud.pot
+++ b/plugins/RSSCloud/locale/RSSCloud.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,9 +16,52 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr ""
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr ""
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr ""
+
#: RSSCloudPlugin.php:248
msgid ""
"The RSSCloud plugin enables your StatusNet instance to publish real-time "
"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
-"\">RSSCloud protocol</a>\"."
+"\">RSSCloud protocol</a>."
msgstr ""
diff --git a/plugins/Recaptcha/RecaptchaPlugin.php b/plugins/Recaptcha/RecaptchaPlugin.php
index 7cc34c568..0c46a33e0 100644
--- a/plugins/Recaptcha/RecaptchaPlugin.php
+++ b/plugins/Recaptcha/RecaptchaPlugin.php
@@ -2,7 +2,7 @@
/**
* StatusNet, the distributed open-source microblogging tool
*
- * Plugin to show reCaptcha when a user registers
+ * Plugin to show reCaptcha when a user registers
*
* PHP version 5
*
@@ -61,14 +61,14 @@ class RecaptchaPlugin extends Plugin
function onEndRegistrationFormData($action)
{
$action->elementStart('li');
- $action->raw('<label for="recaptcha">Captcha</label>');
+ $action->raw('<label for="recaptcha">'._m('Captcha').'</label>');
// AJAX API will fill this div out.
// We're calling that instead of the regular one so we stay compatible
// with application/xml+xhtml output as for mobile.
$action->element('div', array('id' => 'recaptcha'));
$action->elementEnd('li');
-
+
$action->recaptchaPluginNeedsOutput = true;
return true;
}
@@ -83,7 +83,7 @@ class RecaptchaPlugin extends Plugin
$url = "http://api.recaptcha.net/js/recaptcha_ajax.js";
}
$action->script($url);
-
+
// And when we're ready, fill out the captcha!
$key = json_encode($this->public_key);
$action->inlinescript("\$(function(){Recaptcha.create($key, 'recaptcha');});");
@@ -100,9 +100,9 @@ class RecaptchaPlugin extends Plugin
if (!$resp->is_valid) {
if($this->display_errors) {
- $action->showForm ("(reCAPTCHA error: " . $resp->error . ")");
+ $action->showForm(sprintf(_("(reCAPTCHA error: %s)", $resp->error)));
}
- $action->showForm("Captcha does not match!");
+ $action->showForm(_m("Captcha does not match!"));
return false;
}
}
diff --git a/plugins/Recaptcha/locale/Recaptcha.pot b/plugins/Recaptcha/locale/Recaptcha.pot
index 855a1a11a..547f73ba1 100644
--- a/plugins/Recaptcha/locale/Recaptcha.pot
+++ b/plugins/Recaptcha/locale/Recaptcha.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,6 +16,14 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr ""
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr ""
+
#: RecaptchaPlugin.php:117
msgid ""
"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
diff --git a/plugins/RegisterThrottle/RegisterThrottlePlugin.php b/plugins/RegisterThrottle/RegisterThrottlePlugin.php
index 05709b780..b6e9a9026 100644
--- a/plugins/RegisterThrottle/RegisterThrottlePlugin.php
+++ b/plugins/RegisterThrottle/RegisterThrottlePlugin.php
@@ -113,7 +113,6 @@ class RegisterThrottlePlugin extends Plugin
* @return boolean hook value
*
*/
-
function onStartRegistrationTry($action)
{
$ipaddress = $this->_getIpAddress();
@@ -134,7 +133,7 @@ class RegisterThrottlePlugin extends Plugin
$now = time();
$this->debug("Comparing {$regtime} to {$now}");
if ($now - $regtime < $seconds) {
- throw new Exception(_("Too many registrations. Take a break and try again later."));
+ throw new Exception(_m("Too many registrations. Take a break and try again later."));
}
}
}
@@ -197,7 +196,7 @@ class RegisterThrottlePlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:RegisterThrottle',
'description' =>
- _m('Throttles excessive registration from a single IP.'));
+ _m('Throttles excessive registration from a single IP address.'));
return true;
}
diff --git a/plugins/RegisterThrottle/Registration_ip.php b/plugins/RegisterThrottle/Registration_ip.php
index 7e61d089e..5c7396b9b 100644
--- a/plugins/RegisterThrottle/Registration_ip.php
+++ b/plugins/RegisterThrottle/Registration_ip.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class Registration_ip extends Memcached_DataObject
{
public $__table = 'registration_ip'; // table name
@@ -59,7 +58,6 @@ class Registration_ip extends Memcached_DataObject
* @return User_greeting_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Registration_ip', $k, $v);
@@ -70,7 +68,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -86,7 +83,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array('user_id' => 'K');
@@ -100,7 +96,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return $this->keys();
@@ -116,7 +111,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
diff --git a/plugins/RegisterThrottle/locale/RegisterThrottle.pot b/plugins/RegisterThrottle/locale/RegisterThrottle.pot
index 40327d16f..97539f9a0 100644
--- a/plugins/RegisterThrottle/locale/RegisterThrottle.pot
+++ b/plugins/RegisterThrottle/locale/RegisterThrottle.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,14 +16,18 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: RegisterThrottlePlugin.php:122 RegisterThrottlePlugin.php:161
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
msgid "Cannot find IP address."
msgstr ""
-#: RegisterThrottlePlugin.php:167
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr ""
+
+#: RegisterThrottlePlugin.php:166
msgid "Cannot find user after successful registration."
msgstr ""
-#: RegisterThrottlePlugin.php:200
-msgid "Throttles excessive registration from a single IP."
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
msgstr ""
diff --git a/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php b/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php
index af75b96e0..719dba89c 100644
--- a/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php
+++ b/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php
@@ -170,4 +170,3 @@ class RequireValidatedEmailPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot b/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot
index 13c04c338..f2128e794 100644
--- a/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot
+++ b/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot b/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot
index df2523cb4..c0e66561c 100644
--- a/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot
+++ b/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/Sample/SamplePlugin.php b/plugins/Sample/SamplePlugin.php
index 913741226..ef69121a9 100644
--- a/plugins/Sample/SamplePlugin.php
+++ b/plugins/Sample/SamplePlugin.php
@@ -101,7 +101,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class SamplePlugin extends Plugin
{
/**
@@ -129,7 +128,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function initialize()
{
return true;
@@ -143,7 +141,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function cleanup()
{
return true;
@@ -168,7 +165,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onCheckSchema()
{
$schema = Schema::get();
@@ -201,7 +197,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onAutoload($cls)
{
$dir = dirname(__FILE__);
@@ -231,7 +226,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onRouterInitialized($m)
{
$m->connect('main/hello',
@@ -256,7 +250,6 @@ class SamplePlugin extends Plugin
*
* @see Action
*/
-
function onEndPrimaryNav($action)
{
// common_local_url() gets the correct URL for the action name
@@ -278,4 +271,3 @@ class SamplePlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/Sample/User_greeting_count.php b/plugins/Sample/User_greeting_count.php
index fc0cbd28f..38d68c91e 100644
--- a/plugins/Sample/User_greeting_count.php
+++ b/plugins/Sample/User_greeting_count.php
@@ -70,7 +70,6 @@ class User_greeting_count extends Memcached_DataObject
* @return User_greeting_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('User_greeting_count', $k, $v);
@@ -84,7 +83,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -100,7 +98,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return array list of key field names
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -118,7 +115,6 @@ class User_greeting_count extends Memcached_DataObject
* 'K' for primary key: for compound keys, add an entry for each component;
* 'U' for unique keys: compound keys are not well supported here.
*/
-
function keyTypes()
{
return array('user_id' => 'K');
@@ -134,7 +130,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
@@ -150,7 +145,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return User_greeting_count instance for this user, with count already incremented.
*/
-
static function inc($user_id)
{
$gc = User_greeting_count::staticGet('user_id', $user_id);
@@ -165,12 +159,12 @@ class User_greeting_count extends Memcached_DataObject
$result = $gc->insert();
if (!$result) {
- throw Exception(sprintf(_m("Could not save new greeting count for %d"),
+ // TRANS: Exception thrown when the user greeting count could not be saved in the database.
+ // TRANS: %d is a user ID (number).
+ throw Exception(sprintf(_m("Could not save new greeting count for %d."),
$user_id));
}
-
} else {
-
$orig = clone($gc);
$gc->greeting_count++;
@@ -178,7 +172,9 @@ class User_greeting_count extends Memcached_DataObject
$result = $gc->update($orig);
if (!$result) {
- throw Exception(sprintf(_m("Could not increment greeting count for %d"),
+ // TRANS: Exception thrown when the user greeting count could not be saved in the database.
+ // TRANS: %d is a user ID (number).
+ throw Exception(sprintf(_m("Could not increment greeting count for %d."),
$user_id));
}
}
diff --git a/plugins/Sample/hello.php b/plugins/Sample/hello.php
index dfbd0ad4f..a793ac6de 100644
--- a/plugins/Sample/hello.php
+++ b/plugins/Sample/hello.php
@@ -46,7 +46,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class HelloAction extends Action
{
var $user = null;
@@ -67,7 +66,6 @@ class HelloAction extends Action
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -93,7 +91,6 @@ class HelloAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
@@ -108,13 +105,12 @@ class HelloAction extends Action
*
* @return string Title of the page
*/
-
function title()
{
if (empty($this->user)) {
return _m('Hello');
} else {
- return sprintf(_m('Hello, %s'), $this->user->nickname);
+ return sprintf(_m('Hello, %s!'), $this->user->nickname);
}
}
@@ -130,7 +126,6 @@ class HelloAction extends Action
*
* @return void
*/
-
function showContent()
{
if (empty($this->user)) {
@@ -162,7 +157,6 @@ class HelloAction extends Action
*
* @return boolean is read only action?
*/
-
function isReadOnly($args)
{
return false;
diff --git a/plugins/Sample/locale/Sample.pot b/plugins/Sample/locale/Sample.pot
index 66bcb775d..b58819655 100644
--- a/plugins/Sample/locale/Sample.pot
+++ b/plugins/Sample/locale/Sample.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,38 +17,47 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: User_greeting_count.php:168
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
#, php-format
-msgid "Could not save new greeting count for %d"
+msgid "Could not save new greeting count for %d."
msgstr ""
-#: User_greeting_count.php:181
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
#, php-format
-msgid "Could not increment greeting count for %d"
+msgid "Could not increment greeting count for %d."
msgstr ""
-#: SamplePlugin.php:266 hello.php:115
+#: SamplePlugin.php:259 hello.php:111
msgid "Hello"
msgstr ""
-#: SamplePlugin.php:266
+#: SamplePlugin.php:259
msgid "A warm greeting"
msgstr ""
-#: SamplePlugin.php:277
+#: SamplePlugin.php:270
msgid "A sample plugin to show basics of development for new hackers."
msgstr ""
-#: hello.php:117 hello.php:141
+#: hello.php:113
#, php-format
-msgid "Hello, %s"
+msgid "Hello, %s!"
msgstr ""
-#: hello.php:138
+#: hello.php:133
msgid "Hello, stranger!"
msgstr ""
-#: hello.php:143
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr ""
+
+#: hello.php:138
#, php-format
msgid "I have greeted you %d time."
msgid_plural "I have greeted you %d times."
diff --git a/plugins/SimpleUrl/locale/SimpleUrl.pot b/plugins/SimpleUrl/locale/SimpleUrl.pot
index 7edf70abf..8fd5aa6be 100644
--- a/plugins/SimpleUrl/locale/SimpleUrl.pot
+++ b/plugins/SimpleUrl/locale/SimpleUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/SpotifyPlugin.php b/plugins/Spotify/SpotifyPlugin.php
index e7a5a5382..e7a5a5382 100644
--- a/plugins/SpotifyPlugin.php
+++ b/plugins/Spotify/SpotifyPlugin.php
diff --git a/plugins/SubMirror/SubMirrorPlugin.php b/plugins/SubMirror/SubMirrorPlugin.php
index 80c6c5a88..578ef6607 100644
--- a/plugins/SubMirror/SubMirrorPlugin.php
+++ b/plugins/SubMirror/SubMirrorPlugin.php
@@ -17,14 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+
/**
* @package SubMirrorPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
-
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
-
class SubMirrorPlugin extends Plugin
{
/**
diff --git a/plugins/SubMirror/actions/addmirror.php b/plugins/SubMirror/actions/addmirror.php
index 5acdf1dfe..8c3a9740f 100644
--- a/plugins/SubMirror/actions/addmirror.php
+++ b/plugins/SubMirror/actions/addmirror.php
@@ -45,7 +45,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class AddMirrorAction extends BaseMirrorAction
{
var $feedurl;
@@ -57,7 +56,6 @@ class AddMirrorAction extends BaseMirrorAction
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
diff --git a/plugins/SubMirror/actions/basemirror.php b/plugins/SubMirror/actions/basemirror.php
index be6942efa..3e3431103 100644
--- a/plugins/SubMirror/actions/basemirror.php
+++ b/plugins/SubMirror/actions/basemirror.php
@@ -45,7 +45,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
abstract class BaseMirrorAction extends Action
{
var $user;
@@ -58,7 +57,6 @@ abstract class BaseMirrorAction extends Action
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -107,24 +105,22 @@ abstract class BaseMirrorAction extends Action
}
/**
- * @fixme none of this belongs in end classes
+ * @todo FIXME: none of this belongs in end classes
* this stuff belongs in shared code!
*/
function sharedBoilerplate()
{
// Only allow POST requests
-
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->clientError(_('This action only accepts POST requests.'));
+ $this->clientError(_m('This action only accepts POST requests.'));
return false;
}
// CSRF protection
-
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
- $this->clientError(_('There was a problem with your session token.'.
+ $this->clientError(_m('There was a problem with your session token.'.
' Try again, please.'));
return false;
}
@@ -134,7 +130,7 @@ abstract class BaseMirrorAction extends Action
$this->user = common_current_user();
if (empty($this->user)) {
- $this->clientError(_('Not logged in.'));
+ $this->clientError(_m('Not logged in.'));
return false;
}
return true;
@@ -149,7 +145,6 @@ abstract class BaseMirrorAction extends Action
*
* @return void
*/
-
function handle($args)
{
// Throws exception on error
@@ -158,7 +153,7 @@ abstract class BaseMirrorAction extends Action
if ($this->boolean('ajax')) {
$this->startHTML('text/xml;charset=utf-8');
$this->elementStart('head');
- $this->element('title', null, _('Subscribed'));
+ $this->element('title', null, _m('Subscribed'));
$this->elementEnd('head');
$this->elementStart('body');
$unsubscribe = new EditMirrorForm($this, $this->profile);
diff --git a/plugins/SubMirror/actions/editmirror.php b/plugins/SubMirror/actions/editmirror.php
index c7fdab0d6..0f8b03732 100644
--- a/plugins/SubMirror/actions/editmirror.php
+++ b/plugins/SubMirror/actions/editmirror.php
@@ -45,7 +45,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class EditMirrorAction extends BaseMirrorAction
{
@@ -56,7 +55,6 @@ class EditMirrorAction extends BaseMirrorAction
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -93,7 +91,8 @@ class EditMirrorAction extends BaseMirrorAction
{
$mirror = SubMirror::getMirror($this->user, $this->profile);
if (!$mirror) {
- $this->clientError(_m('Requested edit of missing mirror'));
+ // TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+ $this->clientError(_m('Requested edit of missing mirror.'));
}
if ($this->delete) {
diff --git a/plugins/SubMirror/actions/mirrorsettings.php b/plugins/SubMirror/actions/mirrorsettings.php
index 5463a8dc0..a828b26fe 100644
--- a/plugins/SubMirror/actions/mirrorsettings.php
+++ b/plugins/SubMirror/actions/mirrorsettings.php
@@ -36,9 +36,9 @@ class MirrorSettingsAction extends AccountSettingsAction
*
* @return string Page title
*/
-
function title()
{
+ // TRANS: Title.
return _m('Feed mirror settings');
}
@@ -50,6 +50,7 @@ class MirrorSettingsAction extends AccountSettingsAction
function getInstructions()
{
+ // TRANS: Instructions.
return _m('You can mirror updates from many RSS and Atom feeds ' .
'into your StatusNet timeline!');
}
@@ -61,13 +62,12 @@ class MirrorSettingsAction extends AccountSettingsAction
*
* @return void
*/
-
function showContent()
{
$user = common_current_user();
$this->showAddFeedForm();
-
+
$mirror = new SubMirror();
$mirror->subscriber = $user->id;
if ($mirror->find()) {
@@ -99,7 +99,6 @@ class MirrorSettingsAction extends AccountSettingsAction
*
* @return void
*/
-
function handlePost()
{
}
diff --git a/plugins/SubMirror/classes/SubMirror.php b/plugins/SubMirror/classes/SubMirror.php
index bd8fc80a5..b39af918d 100644
--- a/plugins/SubMirror/classes/SubMirror.php
+++ b/plugins/SubMirror/classes/SubMirror.php
@@ -79,7 +79,7 @@ class SubMirror extends Memcached_DataObject
/**
* Temporary hack to set up the compound index, since we can't do
* it yet through regular Schema interface. (Coming for 1.0...)
- *
+ *
* @param Schema $schema
* @return void
*/
@@ -145,7 +145,7 @@ class SubMirror extends Memcached_DataObject
$mirror->created = common_sql_now();
$mirror->modified = common_sql_now();
$mirror->insert();
-
+
return $mirror;
}
@@ -173,7 +173,7 @@ class SubMirror extends Memcached_DataObject
* This retains attribution within the site, and other nice things,
* but currently ends up looking like 'RT @foobar bla bla' when
* bridged out over OStatus or TwitterBridge.
- *
+ *
* @param Notice $notice
* @return mixed Notice on successful repeat, true if already repeated, false on failure
*/
@@ -192,7 +192,7 @@ class SubMirror extends Memcached_DataObject
* Mirror a notice by emitting a new notice with the same contents.
* Kind of dirty, but if pulling an external data feed into an account
* that may be what you want.
- *
+ *
* @param Notice $notice
* @return mixed Notice on successful repeat, true if already repeated, false on failure
*/
@@ -216,7 +216,7 @@ class SubMirror extends Memcached_DataObject
/**
* Get the mirroring setting for a pair of profiles, if existing.
- *
+ *
* @param Profile $subscriber
* @param Profile $subscribed
* @return mixed Profile or empty
diff --git a/plugins/SubMirror/lib/addmirrorform.php b/plugins/SubMirror/lib/addmirrorform.php
index 0a798c9ea..e1d50c272 100644
--- a/plugins/SubMirror/lib/addmirrorform.php
+++ b/plugins/SubMirror/lib/addmirrorform.php
@@ -28,7 +28,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
class AddMirrorForm extends Form
{
-
/**
* Name of the form
*
@@ -36,7 +35,6 @@ class AddMirrorForm extends Form
*
* @return void
*/
-
function formLegend()
{
}
@@ -49,7 +47,6 @@ class AddMirrorForm extends Form
*
* @return void
*/
-
function formData()
{
$this->out->elementStart('fieldset');
@@ -64,7 +61,7 @@ class AddMirrorForm extends Form
$this->unli();
$this->li();
- $this->out->submit('addmirror-save', _m('Add feed'));
+ $this->out->submit('addmirror-save', _m('BUTTON','Add feed'));
$this->unli();
$this->out->elementEnd('ul');
$this->out->elementEnd('fieldset');
@@ -94,7 +91,6 @@ class AddMirrorForm extends Form
*
* @return void
*/
-
function formActions()
{
}
@@ -107,7 +103,6 @@ class AddMirrorForm extends Form
*
* @return string ID of the form
*/
-
function id()
{
return 'add-mirror-form';
@@ -121,7 +116,6 @@ class AddMirrorForm extends Form
*
* @return string URL to post to
*/
-
function action()
{
return common_local_url('addmirror');
@@ -132,10 +126,8 @@ class AddMirrorForm extends Form
*
* @return string the form's class
*/
-
function formClass()
{
return 'form_settings';
}
-
}
diff --git a/plugins/SubMirror/lib/editmirrorform.php b/plugins/SubMirror/lib/editmirrorform.php
index 8236da389..c1f60f9c2 100644
--- a/plugins/SubMirror/lib/editmirrorform.php
+++ b/plugins/SubMirror/lib/editmirrorform.php
@@ -45,7 +45,6 @@ class EditMirrorForm extends Form
*
* @return void
*/
-
function formLegend()
{
}
@@ -58,7 +57,6 @@ class EditMirrorForm extends Form
*
* @return void
*/
-
function formData()
{
$this->out->elementStart('fieldset');
@@ -81,6 +79,7 @@ class EditMirrorForm extends Form
$this->out->elementEnd('div');
$this->out->elementStart('div');
if ($feed) {
+ // XXX: Why the hard coded space?
$this->out->text(_m('LABEL', 'Remote feed:') . ' ');
//$this->out->element('a', array('href' => $feed), $feed);
$this->out->element('input', array('value' => $feed, 'readonly' => 'readonly', 'style' => 'width: 100%'));
@@ -111,7 +110,7 @@ class EditMirrorForm extends Form
}
$this->out->elementEnd('fieldset');
-
+
$this->out->elementStart('div');
$this->out->submit($this->id() . '-save', _m('Save'));
$this->out->element('input', array('type' => 'submit',
@@ -155,7 +154,6 @@ class EditMirrorForm extends Form
*
* @return string ID of the form
*/
-
function id()
{
return 'edit-mirror-form-' . $this->profile->id;
@@ -169,7 +167,6 @@ class EditMirrorForm extends Form
*
* @return string URL to post to
*/
-
function action()
{
return common_local_url('editmirror');
@@ -180,10 +177,8 @@ class EditMirrorForm extends Form
*
* @return string the form's class
*/
-
function formClass()
{
return 'form_settings';
}
-
}
diff --git a/plugins/SubMirror/lib/mirrorqueuehandler.php b/plugins/SubMirror/lib/mirrorqueuehandler.php
index 92b36b5eb..dae9c0889 100644
--- a/plugins/SubMirror/lib/mirrorqueuehandler.php
+++ b/plugins/SubMirror/lib/mirrorqueuehandler.php
@@ -23,7 +23,6 @@
* @package SubMirror
* @author Brion Vibber <brion@status.net>
*/
-
class MirrorQueueHandler extends QueueHandler
{
function transport()
diff --git a/plugins/SubMirror/locale/SubMirror.pot b/plugins/SubMirror/locale/SubMirror.pot
index f34de8f9f..b46307704 100644
--- a/plugins/SubMirror/locale/SubMirror.pot
+++ b/plugins/SubMirror/locale/SubMirror.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,94 +16,114 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: SubMirrorPlugin.php:92
+#: SubMirrorPlugin.php:90
msgid "Pull feeds into your timeline!"
msgstr ""
#. TRANS: SubMirror plugin menu item on user settings page.
-#: SubMirrorPlugin.php:111
+#: SubMirrorPlugin.php:109
msgctxt "MENU"
msgid "Mirroring"
msgstr ""
#. TRANS: SubMirror plugin tooltip for user settings menu item.
-#: SubMirrorPlugin.php:113
+#: SubMirrorPlugin.php:111
msgid "Configure mirroring of posts from other feeds"
msgstr ""
-#: lib/editmirrorform.php:84
+#: lib/editmirrorform.php:83
msgctxt "LABEL"
msgid "Remote feed:"
msgstr ""
-#: lib/editmirrorform.php:88
+#: lib/editmirrorform.php:87
msgctxt "LABEL"
msgid "Local user"
msgstr ""
-#: lib/editmirrorform.php:94
+#: lib/editmirrorform.php:93
msgid "Mirroring style"
msgstr ""
-#: lib/editmirrorform.php:96
+#: lib/editmirrorform.php:95
msgid ""
"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
msgstr ""
-#: lib/editmirrorform.php:97
+#: lib/editmirrorform.php:96
msgid "Repost the content under my account"
msgstr ""
-#: lib/editmirrorform.php:116
+#: lib/editmirrorform.php:115
msgid "Save"
msgstr ""
-#: lib/editmirrorform.php:118
+#: lib/editmirrorform.php:117
msgid "Stop mirroring"
msgstr ""
-#: lib/addmirrorform.php:62
+#: lib/addmirrorform.php:59
msgid "Web page or feed URL:"
msgstr ""
-#: lib/addmirrorform.php:67
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
msgid "Add feed"
msgstr ""
-#: actions/basemirror.php:73
+#: actions/basemirror.php:71
msgid "Invalid feed URL."
msgstr ""
#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
-#: actions/basemirror.php:85
+#: actions/basemirror.php:83
msgid "Invalid profile for mirroring."
msgstr ""
-#: actions/basemirror.php:103
+#: actions/basemirror.php:101
msgid "Can't mirror a StatusNet group at this time."
msgstr ""
-#: actions/editmirror.php:70
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr ""
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr ""
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr ""
+
+#: actions/editmirror.php:68
msgid "Requested invalid profile to edit."
msgstr ""
-#: actions/editmirror.php:88
+#: actions/editmirror.php:86
msgid "Bad form data."
msgstr ""
-#: actions/editmirror.php:96
-msgid "Requested edit of missing mirror"
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
msgstr ""
-#: actions/addmirror.php:74
+#: actions/addmirror.php:72
msgid "Could not subscribe to feed."
msgstr ""
+#. TRANS: Title.
#: actions/mirrorsettings.php:42
msgid "Feed mirror settings"
msgstr ""
-#: actions/mirrorsettings.php:53
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
msgid ""
"You can mirror updates from many RSS and Atom feeds into your StatusNet "
"timeline!"
diff --git a/plugins/SubscriptionThrottlePlugin.php b/plugins/SubscriptionThrottle/SubscriptionThrottlePlugin.php
index 114113360..114113360 100644
--- a/plugins/SubscriptionThrottlePlugin.php
+++ b/plugins/SubscriptionThrottle/SubscriptionThrottlePlugin.php
diff --git a/plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot b/plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot
new file mode 100644
index 000000000..f0fb4dd3c
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot
@@ -0,0 +1,21 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr ""
diff --git a/plugins/TabFocus/TabFocusPlugin.php b/plugins/TabFocus/TabFocusPlugin.php
index 46e329d8a..dd8a97276 100644
--- a/plugins/TabFocus/TabFocusPlugin.php
+++ b/plugins/TabFocus/TabFocusPlugin.php
@@ -51,7 +51,7 @@ class TabFocusPlugin extends Plugin
'author' => 'Craig Andrews and Paul Irish',
'homepage' => 'http://status.net/wiki/Plugin:TabFocus',
'rawdescription' =>
- _m('TabFocus changes the notice form behavior so that, while in the text area, pressing the tab key focuses the "Send" button, matching the behavor of Twitter.'));
+ _m('TabFocus changes the notice form behavior so that, while in the text area, pressing the tab key focuses the "Send" button, matching the behavior of Twitter.'));
return true;
}
}
diff --git a/plugins/TabFocus/locale/TabFocus.pot b/plugins/TabFocus/locale/TabFocus.pot
index 6de47bf08..31cc25966 100644
--- a/plugins/TabFocus/locale/TabFocus.pot
+++ b/plugins/TabFocus/locale/TabFocus.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,6 +19,6 @@ msgstr ""
#: TabFocusPlugin.php:54
msgid ""
"TabFocus changes the notice form behavior so that, while in the text area, "
-"pressing the tab key focuses the \"Send\" button, matching the behavor of "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
"Twitter."
msgstr ""
diff --git a/plugins/TemplatePlugin.php b/plugins/Template/TemplatePlugin.php
index 80625c5b7..80625c5b7 100644
--- a/plugins/TemplatePlugin.php
+++ b/plugins/Template/TemplatePlugin.php
diff --git a/plugins/TightUrl/locale/TightUrl.pot b/plugins/TightUrl/locale/TightUrl.pot
index ea0821eee..41026d711 100644
--- a/plugins/TightUrl/locale/TightUrl.pot
+++ b/plugins/TightUrl/locale/TightUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/plugins/TinyMCE/TinyMCEPlugin.php b/plugins/TinyMCE/TinyMCEPlugin.php
index ca16f6059..2ec4b7160 100644
--- a/plugins/TinyMCE/TinyMCEPlugin.php
+++ b/plugins/TinyMCE/TinyMCEPlugin.php
@@ -48,7 +48,6 @@ if (!defined('STATUSNET')) {
*/
class TinyMCEPlugin extends Plugin
{
-
var $html;
function onEndShowScripts($action)
@@ -74,7 +73,7 @@ class TinyMCEPlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:TinyMCE',
'rawdescription' =>
- _m('Use TinyMCE library to allow rich text editing in the browser'));
+ _m('Use TinyMCE library to allow rich text editing in the browser.'));
return true;
}
@@ -108,7 +107,7 @@ class TinyMCEPlugin extends Plugin
/**
* Hook for new-notice form processing to take our HTML goodies;
* won't affect API posting etc.
- *
+ *
* @param NewNoticeAction $action
* @param User $user
* @param string $content
@@ -159,9 +158,9 @@ class TinyMCEPlugin extends Plugin
/**
* Format the attachment placeholder img with the final version.
- *
+ *
* @param DOMElement $img
- * @param MediaFile $media
+ * @param MediaFile $media
*/
private function formatAttachment($img, $media)
{
@@ -321,5 +320,4 @@ END_OF_SCRIPT;
return $scr;
}
-
}
diff --git a/plugins/TinyMCE/locale/TinyMCE.pot b/plugins/TinyMCE/locale/TinyMCE.pot
index 788762ba8..c42fea871 100644
--- a/plugins/TinyMCE/locale/TinyMCE.pot
+++ b/plugins/TinyMCE/locale/TinyMCE.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,6 +16,6 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: TinyMCEPlugin.php:77
-msgid "Use TinyMCE library to allow rich text editing in the browser"
+#: TinyMCEPlugin.php:76
+msgid "Use TinyMCE library to allow rich text editing in the browser."
msgstr ""
diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php
index 34b82ef83..097d4486f 100644
--- a/plugins/TwitterBridge/TwitterBridgePlugin.php
+++ b/plugins/TwitterBridge/TwitterBridgePlugin.php
@@ -45,17 +45,14 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
* @link http://status.net/
* @link http://twitter.com/
*/
-
class TwitterBridgePlugin extends Plugin
{
-
const VERSION = STATUSNET_VERSION;
public $adminImportControl = false; // Should the 'import' checkbox be exposed in the admin panel?
/**
* Initializer for the plugin.
*/
-
function initialize()
{
// Allow the key and secret to be passed in
@@ -86,7 +83,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean result
*/
-
static function hasKeys()
{
$ckey = common_config('twitter', 'consumer_key');
@@ -113,7 +109,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook return
*/
-
function onRouterInitialized($m)
{
$m->connect('admin/twitter', array('action' => 'twitteradminpanel'));
@@ -310,7 +305,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook value
*/
-
function onPluginVersion(&$versions)
{
$versions[] = array(
@@ -319,8 +313,8 @@ class TwitterBridgePlugin extends Plugin
'author' => 'Zach Copley, Julien C',
'homepage' => 'http://status.net/wiki/Plugin:TwitterBridge',
'rawdescription' => _m(
- 'The Twitter "bridge" plugin allows you to integrate ' .
- 'your StatusNet instance with ' .
+ 'The Twitter "bridge" plugin allows integration ' .
+ 'of a StatusNet instance with ' .
'<a href="http://twitter.com/">Twitter</a>.'
)
);
@@ -374,7 +368,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onCheckSchema()
{
$schema = Schema::get();
@@ -416,7 +409,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook value
*/
-
function onStartDeleteOwnNotice(User $user, Notice $notice)
{
$n2s = Notice_to_status::staticGet('notice_id', $notice->id);
@@ -452,7 +444,6 @@ class TwitterBridgePlugin extends Plugin
* @param Notice $notice being favored
* @return hook return value
*/
-
function onEndFavorNotice(Profile $profile, Notice $notice)
{
$flink = Foreign_link::getByUserID($profile->id,
@@ -489,7 +480,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return hook return value
*/
-
function onEndDisfavorNotice(Profile $profile, Notice $notice)
{
$flink = Foreign_link::getByUserID($profile->id,
diff --git a/plugins/TwitterBridge/Twitter_synch_status.php b/plugins/TwitterBridge/Twitter_synch_status.php
index 2a5f1fd60..a8337862c 100644
--- a/plugins/TwitterBridge/Twitter_synch_status.php
+++ b/plugins/TwitterBridge/Twitter_synch_status.php
@@ -48,7 +48,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
*
* @see DB_DataObject
*/
-
class Twitter_synch_status extends Memcached_DataObject
{
public $__table = 'twitter_synch_status'; // table name
@@ -67,7 +66,6 @@ class Twitter_synch_status extends Memcached_DataObject
* @return Twitter_synch_status object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
throw new Exception("Use pkeyGet() for this class.");
@@ -81,7 +79,6 @@ class Twitter_synch_status extends Memcached_DataObject
* @return Twitter_synch_status object found, or null for no hits
*
*/
-
function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Twitter_synch_status', $kv);
@@ -95,7 +92,6 @@ class Twitter_synch_status extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('foreign_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -115,7 +111,6 @@ class Twitter_synch_status extends Memcached_DataObject
*
* @return array list of key field names
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -133,7 +128,6 @@ class Twitter_synch_status extends Memcached_DataObject
* 'K' for primary key: for compound keys, add an entry for each component;
* 'U' for unique keys: compound keys are not well supported here.
*/
-
function keyTypes()
{
return array('foreign_id' => 'K',
@@ -150,7 +144,6 @@ class Twitter_synch_status extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
@@ -174,7 +167,6 @@ class Twitter_synch_status extends Memcached_DataObject
'timeline' => $timeline));
if (empty($tss)) {
-
$tss = new Twitter_synch_status();
$tss->foreign_id = $foreign_id;
@@ -186,9 +178,7 @@ class Twitter_synch_status extends Memcached_DataObject
$tss->insert();
return true;
-
} else {
-
$orig = clone($tss);
$tss->last_id = $last_id;
diff --git a/plugins/TwitterBridge/daemons/synctwitterfriends.php b/plugins/TwitterBridge/daemons/synctwitterfriends.php
index 02546a02c..38a8b89eb 100755
--- a/plugins/TwitterBridge/daemons/synctwitterfriends.php
+++ b/plugins/TwitterBridge/daemons/synctwitterfriends.php
@@ -45,7 +45,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SyncTwitterFriendsDaemon extends ParallelizingDaemon
{
/**
@@ -59,7 +58,6 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
* @return void
*
**/
-
function __construct($id = null, $interval = 60,
$max_children = 2, $debug = null)
{
@@ -71,7 +69,6 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
*
* @return string Name of the daemon.
*/
-
function name()
{
return ('synctwitterfriends.' . $this->_id);
@@ -110,12 +107,10 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
}
function childTask($flink) {
-
// Each child ps needs its own DB connection
// Note: DataObject::getDatabaseConnection() creates
// a new connection if there isn't one already
-
$conn = &$flink->getDatabaseConnection();
$this->subscribeTwitterFriends($flink);
@@ -127,7 +122,6 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
// XXX: Couldn't find a less brutal way to blow
// away a cached connection
-
global $_DB_DATAOBJECT;
unset($_DB_DATAOBJECT['CONNECTIONS']);
}
@@ -277,4 +271,3 @@ if (have_option('d') || have_option('debug')) {
$syncer = new SyncTwitterFriendsDaemon($id, 60, 2, $debug);
$syncer->runOnce();
-
diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
index 181be3dcf..590fa2954 100755
--- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
+++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
@@ -62,7 +62,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class TwitterStatusFetcher extends ParallelizingDaemon
{
/**
@@ -87,7 +86,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return string Name of the daemon.
*/
-
function name()
{
return ('twitterstatusfetcher.'.$this->_id);
@@ -99,7 +97,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return array flinks an array of Foreign_link objects
*/
-
function getObjects()
{
global $_DB_DATAOBJECT;
@@ -133,12 +130,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
function childTask($flink) {
-
// Each child ps needs its own DB connection
// Note: DataObject::getDatabaseConnection() creates
// a new connection if there isn't one already
-
$conn = &$flink->getDatabaseConnection();
$this->getTimeline($flink);
@@ -150,7 +145,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
// XXX: Couldn't find a less brutal way to blow
// away a cached connection
-
global $_DB_DATAOBJECT;
unset($_DB_DATAOBJECT['CONNECTIONS']);
}
@@ -201,9 +195,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
// Reverse to preserve order
foreach (array_reverse($timeline) as $status) {
-
// Hacktastic: filter out stuff coming from this StatusNet
-
$source = mb_strtolower(common_config('integration', 'source'));
if (preg_match("/$source/", mb_strtolower($status->source))) {
@@ -214,7 +206,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
// Don't save it if the user is protected
// FIXME: save it but treat it as private
-
if ($status->user->protected) {
continue;
}
@@ -232,7 +223,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
// Okay, record the time we synced with Twitter for posterity
-
$flink->last_noticesync = common_sql_now();
$flink->update();
}
@@ -250,7 +240,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$statusUri = $this->makeStatusURI($status->user->screen_name, $status->id);
// check to see if we've already imported the status
-
$n2s = Notice_to_status::staticGet('status_id', $status->id);
if (!empty($n2s)) {
@@ -263,7 +252,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
// If it's a retweet, save it as a repeat!
-
if (!empty($status->retweeted_status)) {
common_log(LOG_INFO, "Status {$status->id} is a retweet of {$status->retweeted_status->id}.");
$original = $this->saveStatus($status->retweeted_status);
@@ -273,7 +261,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$author = $original->getProfile();
// TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
// TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
- $content = sprintf(_('RT @%1$s %2$s'),
+ $content = sprintf(_m('RT @%1$s %2$s'),
$author->nickname,
$original->content);
@@ -365,7 +353,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return string URI
*/
-
function makeStatusURI($username, $id)
{
return 'http://twitter.com/'
@@ -383,7 +370,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return mixed value the first Profile with that url, or null
*/
-
function getProfileByUrl($nickname, $profileurl)
{
$profile = new Profile();
@@ -407,7 +393,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return mixed value a matching Notice or null
*/
-
function checkDupe($profile, $statusUri)
{
$notice = new Notice();
@@ -426,7 +411,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
function ensureProfile($user)
{
// check to see if there's already a profile for this user
-
$profileurl = 'http://twitter.com/' . $user->screen_name;
$profile = $this->getProfileByUrl($user->screen_name, $profileurl);
@@ -440,7 +424,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
return $profile;
} else {
-
common_debug($this->name() . ' - Adding profile and remote profile ' .
"for Twitter user: $profileurl.");
@@ -472,7 +455,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$remote_pro = Remote_profile::staticGet('uri', $profileurl);
if (empty($remote_pro)) {
-
$remote_pro = new Remote_profile();
$remote_pro->id = $id;
@@ -619,7 +601,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$avatar = $profile->getAvatar($sizes[$size]);
// Delete the avatar, if present
-
if ($avatar) {
$avatar->delete();
}
@@ -644,10 +625,8 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$avatar->height = 48;
break;
default:
-
// Note: Twitter's big avatars are a different size than
// StatusNet's (StatusNet's = 96)
-
$avatar->width = 73;
$avatar->height = 73;
}
@@ -840,4 +819,3 @@ if (have_option('d') || have_option('debug')) {
$fetcher = new TwitterStatusFetcher($id, 60, 2, $debug);
$fetcher->runOnce();
-
diff --git a/plugins/TwitterBridge/locale/TwitterBridge.pot b/plugins/TwitterBridge/locale/TwitterBridge.pot
index b5f906174..5a75bc5f8 100644
--- a/plugins/TwitterBridge/locale/TwitterBridge.pot
+++ b/plugins/TwitterBridge/locale/TwitterBridge.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-19 15:29+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,16 +16,16 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: twitter.php:363
+#: twitter.php:350
msgid "Your Twitter bridge has been disabled."
msgstr ""
-#: twitter.php:367
+#: twitter.php:354
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
"disabled. We no longer seem to have permission to update your Twitter "
-"status. (Did you revoke %3$s's access?)\n"
+"status. Did you maybe revoke %3$s's access?\n"
"\n"
"You can re-enable your Twitter bridge by visiting your Twitter settings "
"page:\n"
@@ -33,95 +33,136 @@ msgid ""
"\t%2$s\n"
"\n"
"Regards,\n"
-"%3$s\n"
+"%3$s"
msgstr ""
-#: TwitterBridgePlugin.php:156 TwitterBridgePlugin.php:179
-#: TwitterBridgePlugin.php:296 twitteradminpanel.php:54
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
msgid "Twitter"
msgstr ""
-#: TwitterBridgePlugin.php:157
+#: TwitterBridgePlugin.php:152
msgid "Login or register using Twitter"
msgstr ""
-#: TwitterBridgePlugin.php:180
+#: TwitterBridgePlugin.php:175
msgid "Twitter integration options"
msgstr ""
-#: TwitterBridgePlugin.php:297
+#: TwitterBridgePlugin.php:292
msgid "Twitter bridge configuration"
msgstr ""
-#: TwitterBridgePlugin.php:322
+#: TwitterBridgePlugin.php:316
msgid ""
-"The Twitter \"bridge\" plugin allows you to integrate your StatusNet "
-"instance with <a href=\"http://twitter.com/\">Twitter</a>."
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
msgstr ""
-#: twitteradminpanel.php:65
+#: twitteradminpanel.php:62
msgid "Twitter bridge settings"
msgstr ""
-#: twitteradminpanel.php:150
+#: twitteradminpanel.php:145
msgid "Invalid consumer key. Max length is 255 characters."
msgstr ""
-#: twitteradminpanel.php:156
+#: twitteradminpanel.php:151
msgid "Invalid consumer secret. Max length is 255 characters."
msgstr ""
-#: twitteradminpanel.php:216
+#: twitteradminpanel.php:207
msgid "Twitter application settings"
msgstr ""
-#: twitteradminpanel.php:222
+#: twitteradminpanel.php:213
msgid "Consumer key"
msgstr ""
-#: twitteradminpanel.php:223
+#: twitteradminpanel.php:214
msgid "Consumer key assigned by Twitter"
msgstr ""
-#: twitteradminpanel.php:231
+#: twitteradminpanel.php:222
msgid "Consumer secret"
msgstr ""
-#: twitteradminpanel.php:232
+#: twitteradminpanel.php:223
msgid "Consumer secret assigned by Twitter"
msgstr ""
-#: twitteradminpanel.php:249
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr ""
+
+#: twitteradminpanel.php:240
msgid "Integration source"
msgstr ""
-#: twitteradminpanel.php:250
+#: twitteradminpanel.php:241
msgid "Name of your Twitter application"
msgstr ""
-#: twitteradminpanel.php:262
+#: twitteradminpanel.php:253
msgid "Options"
msgstr ""
-#: twitteradminpanel.php:269
+#: twitteradminpanel.php:260
msgid "Enable \"Sign-in with Twitter\""
msgstr ""
-#: twitteradminpanel.php:271
+#: twitteradminpanel.php:262
msgid "Allow users to login with their Twitter credentials"
msgstr ""
-#: twitteradminpanel.php:278
+#: twitteradminpanel.php:269
msgid "Enable Twitter import"
msgstr ""
-#: twitteradminpanel.php:280
+#: twitteradminpanel.php:271
msgid ""
"Allow users to import their Twitter friends' timelines. Requires daemons to "
"be manually configured."
msgstr ""
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr ""
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr ""
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr ""
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr ""
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr ""
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr ""
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr ""
+
#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
msgid "Couldn't link your Twitter account."
msgstr ""
@@ -129,99 +170,197 @@ msgstr ""
msgid "Couldn't link your Twitter account: oauth_token mismatch."
msgstr ""
-#: twittersettings.php:59
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr ""
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr ""
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr ""
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr ""
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr ""
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr ""
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr ""
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr ""
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr ""
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr ""
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr ""
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr ""
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr ""
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr ""
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr ""
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr ""
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr ""
+
+#: twittersettings.php:58
msgid "Twitter settings"
msgstr ""
-#: twittersettings.php:70
+#: twittersettings.php:69
msgid ""
"Connect your Twitter account to share your updates with your Twitter friends "
"and vice-versa."
msgstr ""
-#: twittersettings.php:118
+#: twittersettings.php:116
msgid "Twitter account"
msgstr ""
-#: twittersettings.php:123
+#: twittersettings.php:121
msgid "Connected Twitter account"
msgstr ""
-#: twittersettings.php:128
+#: twittersettings.php:126
msgid "Disconnect my account from Twitter"
msgstr ""
-#: twittersettings.php:133
+#: twittersettings.php:132
msgid "Disconnecting your Twitter could make it impossible to log in! Please "
msgstr ""
-#: twittersettings.php:137
+#: twittersettings.php:136
msgid "set a password"
msgstr ""
-#: twittersettings.php:139
+#: twittersettings.php:138
msgid " first."
msgstr ""
-#: twittersettings.php:143
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
#, php-format
msgid ""
"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
"password to log in."
msgstr ""
-#: twittersettings.php:151
+#: twittersettings.php:150
msgid "Disconnect"
msgstr ""
-#: twittersettings.php:158
+#: twittersettings.php:157
msgid "Preferences"
msgstr ""
-#: twittersettings.php:162
+#: twittersettings.php:161
msgid "Automatically send my notices to Twitter."
msgstr ""
-#: twittersettings.php:169
+#: twittersettings.php:168
msgid "Send local \"@\" replies to Twitter."
msgstr ""
-#: twittersettings.php:176
+#: twittersettings.php:175
msgid "Subscribe to my Twitter friends here."
msgstr ""
-#: twittersettings.php:185
-msgid "Import my Friends Timeline."
-msgstr ""
-
-#: twittersettings.php:201
-msgid "Save"
+#: twittersettings.php:184
+msgid "Import my friends timeline."
msgstr ""
-#: twittersettings.php:203
+#: twittersettings.php:202
msgid "Add"
msgstr ""
-#: twittersettings.php:228
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: twittersettings.php:238
+#: twittersettings.php:236
msgid "Unexpected form submission."
msgstr ""
-#: twittersettings.php:257
+#: twittersettings.php:254
msgid "Couldn't remove Twitter user."
msgstr ""
-#: twittersettings.php:261
+#: twittersettings.php:258
msgid "Twitter account disconnected."
msgstr ""
-#: twittersettings.php:282 twittersettings.php:292
+#: twittersettings.php:278 twittersettings.php:288
msgid "Couldn't save Twitter preferences."
msgstr ""
-#: twittersettings.php:296
+#: twittersettings.php:292
msgid "Twitter preferences saved."
msgstr ""
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr ""
diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php
index 90b0f0f14..f913e4aea 100644
--- a/plugins/TwitterBridge/twitter.php
+++ b/plugins/TwitterBridge/twitter.php
@@ -30,7 +30,6 @@ function add_twitter_user($twitter_id, $screen_name)
// Clear out any bad old foreign_users with the new user's legit URL
// This can happen when users move around or fakester accounts get
// repoed, and things like that.
-
$luser = Foreign_user::getForeignUser($twitter_id, TWITTER_SERVICE);
if (!empty($luser)) {
@@ -69,7 +68,6 @@ function save_twitter_user($twitter_id, $screen_name)
{
// Check to see whether the Twitter user is already in the system,
// and update its screen name and uri if so.
-
$fuser = Foreign_user::getForeignUser($twitter_id, TWITTER_SERVICE);
if (!empty($fuser)) {
@@ -87,9 +85,7 @@ function save_twitter_user($twitter_id, $screen_name)
}
} else {
-
// Kill any old, invalid records for this screen name
-
$fuser = Foreign_user::getByNickname($screen_name, TWITTER_SERVICE);
if (!empty($fuser)) {
@@ -110,13 +106,11 @@ function save_twitter_user($twitter_id, $screen_name)
}
function is_twitter_bound($notice, $flink) {
-
// Check to see if notice should go to Twitter
if (!empty($flink) && ($flink->noticesync & FOREIGN_NOTICE_SEND)) {
// If it's not a Twitter-style reply, or if the user WANTS to send replies,
// or if it's in reply to a twitter notice
-
if (!preg_match('/^@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) ||
is_twitter_notice($notice->reply_to)) {
@@ -140,7 +134,6 @@ function broadcast_twitter($notice)
TWITTER_SERVICE);
// Don't bother with basic auth, since it's no longer allowed
-
if (!empty($flink) && TwitterOAuthClient::isPackedToken($flink->credentials)) {
if (!empty($notice->repeat_of) && is_twitter_notice($notice->repeat_of)) {
$retweet = retweet_notice($flink, Notice::staticGet('id', $notice->repeat_of));
@@ -229,7 +222,6 @@ function broadcast_oauth($notice, $flink) {
// This could represent a failure posting,
// or the Twitter API might just be behaving flakey.
-
$errmsg = sprintf('Twitter bridge - No data returned by Twitter API when ' .
'trying to post notice %d for User %s (user id %d).',
$notice->id,
@@ -242,7 +234,6 @@ function broadcast_oauth($notice, $flink) {
}
// Notice crossed the great divide
-
$msg = sprintf('Twitter bridge - posted notice %d to Twitter using ' .
'OAuth for User %s (user id %d).',
$notice->id,
@@ -327,11 +318,9 @@ function remove_twitter_link($flink)
// Notify the user that her Twitter bridge is down
if (isset($user->email)) {
-
$result = mail_twitter_bridge_removed($user);
if (!$result) {
-
$msg = 'Unable to send email to notify ' .
"$user->nickname (user id: $user->id) " .
'that their Twitter bridge link was ' .
@@ -340,7 +329,6 @@ function remove_twitter_link($flink)
common_log(LOG_WARNING, $msg);
}
}
-
}
/**
@@ -353,7 +341,6 @@ function remove_twitter_link($flink)
*
* @return boolean success flag
*/
-
function mail_twitter_bridge_removed($user)
{
$profile = $user->getProfile();
@@ -366,11 +353,11 @@ function mail_twitter_bridge_removed($user)
$body = sprintf(_m('Hi, %1$s. We\'re sorry to inform you that your ' .
'link to Twitter has been disabled. We no longer seem to have ' .
- 'permission to update your Twitter status. (Did you revoke ' .
- '%3$s\'s access?)' . "\n\n" .
+ 'permission to update your Twitter status. Did you maybe revoke ' .
+ '%3$s\'s access?' . "\n\n" .
'You can re-enable your Twitter bridge by visiting your ' .
"Twitter settings page:\n\n\t%2\$s\n\n" .
- "Regards,\n%3\$s\n"),
+ "Regards,\n%3\$s"),
$profile->getBestName(),
common_local_url('twittersettings'),
common_config('site', 'name'));
@@ -378,4 +365,3 @@ function mail_twitter_bridge_removed($user)
common_switch_locale();
return mail_to_user($user, $subject, $body);
}
-
diff --git a/plugins/TwitterBridge/twitteradminpanel.php b/plugins/TwitterBridge/twitteradminpanel.php
index 69f8da078..d05a2c6b3 100644
--- a/plugins/TwitterBridge/twitteradminpanel.php
+++ b/plugins/TwitterBridge/twitteradminpanel.php
@@ -40,7 +40,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 TwitteradminpanelAction extends AdminPanelAction
{
/**
@@ -48,7 +47,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return string page title
*/
-
function title()
{
return _m('Twitter');
@@ -59,7 +57,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
return _m('Twitter bridge settings');
@@ -70,7 +67,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function showForm()
{
$form = new TwitterAdminPanelForm($this);
@@ -83,7 +79,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
static $settings = array(
@@ -173,7 +168,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'twitteradminpanel';
@@ -184,7 +178,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_settings';
@@ -195,7 +188,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('twitteradminpanel');
@@ -206,7 +198,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formData()
{
$this->out->elementStart(
@@ -239,7 +230,7 @@ class TwitterAdminPanelForm extends AdminForm
if (!empty($globalConsumerKey) && !empty($globalConsumerSec)) {
$this->li();
- $this->out->element('p', 'form_guide', _('Note: a global consumer key and secret are set.'));
+ $this->out->element('p', 'form_guide', _m('Note: a global consumer key and secret are set.'));
$this->unli();
}
@@ -292,9 +283,8 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save Twitter settings'));
+ $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save Twitter settings'));
}
}
diff --git a/plugins/TwitterBridge/twitterauthorization.php b/plugins/TwitterBridge/twitterauthorization.php
index 7a896e168..931a03723 100644
--- a/plugins/TwitterBridge/twitterauthorization.php
+++ b/plugins/TwitterBridge/twitterauthorization.php
@@ -117,13 +117,13 @@ class TwitterauthorizationAction extends Action
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
- $this->showForm(_('There was a problem with your session token. Try again, please.'));
+ $this->showForm(_m('There was a problem with your session token. Try again, please.'));
return;
}
if ($this->arg('create')) {
if (!$this->boolean('license')) {
- $this->showForm(_('You can\'t register if you don\'t agree to the license.'),
+ $this->showForm(_m('You can\'t register if you don\'t agree to the license.'),
$this->trimmed('newname'));
return;
}
@@ -132,7 +132,7 @@ class TwitterauthorizationAction extends Action
$this->connectNewUser();
} else {
common_debug('Twitter bridge - ' . print_r($this->args, true));
- $this->showForm(_('Something weird happened.'),
+ $this->showForm(_m('Something weird happened.'),
$this->trimmed('newname'));
}
} else {
@@ -231,7 +231,6 @@ class TwitterauthorizationAction extends Action
}
if (common_logged_in()) {
-
// Save the access token and Twitter user info
$user = common_current_user();
@@ -298,7 +297,7 @@ class TwitterauthorizationAction extends Action
if (empty($flink_id)) {
common_log_db_error($flink, 'INSERT', __FILE__);
- $this->serverError(_('Couldn\'t link your Twitter account.'));
+ $this->serverError(_m('Couldn\'t link your Twitter account.'));
}
return $flink_id;
@@ -310,13 +309,13 @@ class TwitterauthorizationAction extends Action
$this->element('div', array('class' => 'error'), $this->error);
} else {
$this->element('div', 'instructions',
- sprintf(_('This is the first time you\'ve logged into %s so we must connect your Twitter account to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
+ sprintf(_m('This is the first time you\'ve logged into %s so we must connect your Twitter account to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
}
}
function title()
{
- return _('Twitter Account Setup');
+ return _m('Twitter Account Setup');
}
function showForm($error=null, $username=null)
@@ -349,7 +348,7 @@ class TwitterauthorizationAction extends Action
'class' => 'form_settings',
'action' => common_local_url('twitterauthorization')));
$this->elementStart('fieldset', array('id' => 'settings_twitter_connect_options'));
- $this->element('legend', null, _('Connection options'));
+ $this->element('legend', null, _m('Connection options'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->element('input', array('type' => 'checkbox',
@@ -358,7 +357,7 @@ class TwitterauthorizationAction extends Action
'name' => 'license',
'value' => 'true'));
$this->elementStart('label', array('class' => 'checkbox', 'for' => 'license'));
- $message = _('My text and files are available under %s ' .
+ $message = _m('My text and files are available under %s ' .
'except this private data: password, ' .
'email address, IM address, and phone number.');
$link = '<a href="' .
@@ -379,33 +378,33 @@ class TwitterauthorizationAction extends Action
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', null,
- _('Create new account'));
+ _m('Create new account'));
$this->element('p', null,
- _('Create a new user with this nickname.'));
+ _m('Create a new user with this nickname.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
- $this->input('newname', _('New nickname'),
+ $this->input('newname', _m('New nickname'),
($this->username) ? $this->username : '',
- _('1-64 lowercase letters or numbers, no punctuation or spaces'));
+ _m('1-64 lowercase letters or numbers, no punctuation or spaces'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('create', _('Create'));
+ $this->submit('create', _m('Create'));
$this->elementEnd('fieldset');
$this->elementStart('fieldset');
$this->element('legend', null,
- _('Connect existing account'));
+ _m('Connect existing account'));
$this->element('p', null,
- _('If you already have an account, login with your username and password to connect it to your Twitter account.'));
+ _m('If you already have an account, login with your username and password to connect it to your Twitter account.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
- $this->input('nickname', _('Existing nickname'));
+ $this->input('nickname', _m('Existing nickname'));
$this->elementEnd('li');
$this->elementStart('li');
- $this->password('password', _('Password'));
+ $this->password('password', _m('Password'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('connect', _('Connect'));
+ $this->submit('connect', _m('Connect'));
$this->elementEnd('fieldset');
$this->elementEnd('fieldset');
@@ -421,7 +420,7 @@ class TwitterauthorizationAction extends Action
function createNewUser()
{
if (common_config('site', 'closed')) {
- $this->clientError(_('Registration not allowed.'));
+ $this->clientError(_m('Registration not allowed.'));
return;
}
@@ -430,14 +429,14 @@ class TwitterauthorizationAction extends Action
if (common_config('site', 'inviteonly')) {
$code = $_SESSION['invitecode'];
if (empty($code)) {
- $this->clientError(_('Registration not allowed.'));
+ $this->clientError(_m('Registration not allowed.'));
return;
}
$invite = Invitation::staticGet($code);
if (empty($invite)) {
- $this->clientError(_('Not a valid invitation code.'));
+ $this->clientError(_m('Not a valid invitation code.'));
return;
}
}
@@ -447,17 +446,17 @@ class TwitterauthorizationAction extends Action
if (!Validate::string($nickname, array('min_length' => 1,
'max_length' => 64,
'format' => NICKNAME_FMT))) {
- $this->showForm(_('Nickname must have only lowercase letters and numbers and no spaces.'));
+ $this->showForm(_m('Nickname must have only lowercase letters and numbers and no spaces.'));
return;
}
if (!User::allowed_nickname($nickname)) {
- $this->showForm(_('Nickname not allowed.'));
+ $this->showForm(_m('Nickname not allowed.'));
return;
}
if (User::staticGet('nickname', $nickname)) {
- $this->showForm(_('Nickname already in use. Try another one.'));
+ $this->showForm(_m('Nickname already in use. Try another one.'));
return;
}
@@ -472,7 +471,7 @@ class TwitterauthorizationAction extends Action
$user = User::register($args);
if (empty($user)) {
- $this->serverError(_('Error registering user.'));
+ $this->serverError(_m('Error registering user.'));
return;
}
@@ -483,7 +482,7 @@ class TwitterauthorizationAction extends Action
save_twitter_user($this->twuid, $this->tw_fields['screen_name']);
if (!$result) {
- $this->serverError(_('Error connecting user to Twitter.'));
+ $this->serverError(_m('Error connecting user to Twitter.'));
return;
}
@@ -503,7 +502,7 @@ class TwitterauthorizationAction extends Action
$password = $this->trimmed('password');
if (!common_check_user($nickname, $password)) {
- $this->showForm(_('Invalid username or password.'));
+ $this->showForm(_m('Invalid username or password.'));
return;
}
@@ -521,7 +520,7 @@ class TwitterauthorizationAction extends Action
save_twitter_user($this->twuid, $this->tw_fields['screen_name']);
if (!$result) {
- $this->serverError(_('Error connecting user to Twitter.'));
+ $this->serverError(_m('Error connecting user to Twitter.'));
return;
}
@@ -541,7 +540,7 @@ class TwitterauthorizationAction extends Action
$result = $this->flinkUser($user->id, $this->twuid);
if (empty($result)) {
- $this->serverError(_('Error connecting user to Twitter.'));
+ $this->serverError(_m('Error connecting user to Twitter.'));
return;
}
diff --git a/plugins/TwitterBridge/twitterlogin.php b/plugins/TwitterBridge/twitterlogin.php
index 79421fb27..5b5bfae19 100644
--- a/plugins/TwitterBridge/twitterlogin.php
+++ b/plugins/TwitterBridge/twitterlogin.php
@@ -46,7 +46,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
*
* @see SettingsAction
*/
-
class TwitterloginAction extends Action
{
function handle($args)
@@ -54,7 +53,7 @@ class TwitterloginAction extends Action
parent::handle($args);
if (common_is_real_login()) {
- $this->clientError(_('Already logged in.'));
+ $this->clientError(_m('Already logged in.'));
}
$this->showPage();
@@ -62,12 +61,12 @@ class TwitterloginAction extends Action
function title()
{
- return _('Twitter Login');
+ return _m('Twitter Login');
}
function getInstructions()
{
- return _('Login with your Twitter account');
+ return _m('Login with your Twitter account');
}
function showPageNotice()
@@ -85,7 +84,7 @@ class TwitterloginAction extends Action
null,
array('signin' => true))));
$this->element('img', array('src' => common_path('plugins/TwitterBridge/Sign-in-with-Twitter-lighter.png'),
- 'alt' => 'Sign in with Twitter'));
+ 'alt' => _m('Sign in with Twitter')));
$this->elementEnd('a');
}
diff --git a/plugins/TwitterBridge/twitteroauthclient.php b/plugins/TwitterBridge/twitteroauthclient.php
index 876e30425..345510a0d 100644
--- a/plugins/TwitterBridge/twitteroauthclient.php
+++ b/plugins/TwitterBridge/twitteroauthclient.php
@@ -200,7 +200,6 @@ class TwitterOAuthClient extends OAuthClient
function statusesHomeTimeline($since_id = null, $max_id = null,
$cnt = null, $page = null)
{
-
$url = 'https://twitter.com/statuses/home_timeline.json';
$params = array('include_entities' => 'true');
diff --git a/plugins/TwitterBridge/twittersettings.php b/plugins/TwitterBridge/twittersettings.php
index 631b29f52..dab8ab34f 100644
--- a/plugins/TwitterBridge/twittersettings.php
+++ b/plugins/TwitterBridge/twittersettings.php
@@ -45,7 +45,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
*
* @see SettingsAction
*/
-
class TwittersettingsAction extends ConnectSettingsAction
{
/**
@@ -79,7 +78,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function showContent()
{
@@ -130,6 +128,7 @@ class TwittersettingsAction extends ConnectSettingsAction
if (!$user->password) {
$this->elementStart('p', array('class' => 'form_guide'));
+ // @todo FIXME: Bad i18n (patchwork in three parts).
$this->text(_m('Disconnecting your Twitter ' .
'could make it impossible to log in! Please '));
$this->element('a',
@@ -139,7 +138,7 @@ class TwittersettingsAction extends ConnectSettingsAction
$this->text(_m(' first.'));
$this->elementEnd('p');
} else {
-
+ // TRANS: %1$s is the current website name.
$note = _m('Keep your %1$s account but disconnect from Twitter. ' .
'You can use your %1$s password to log in.');
@@ -182,7 +181,7 @@ class TwittersettingsAction extends ConnectSettingsAction
if (common_config('twitterimport','enabled')) {
$this->elementStart('li');
$this->checkbox('noticerecv',
- _m('Import my Friends Timeline.'),
+ _m('Import my friends timeline.'),
($flink) ?
($flink->noticesync & FOREIGN_NOTICE_RECV) :
false);
@@ -219,7 +218,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function handlePost()
{
// CSRF protection
@@ -244,7 +242,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function removeTwitterAccount()
{
$user = common_current_user();
@@ -266,7 +263,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function savePreferences()
{
$noticesend = $this->boolean('noticesend');
@@ -295,5 +291,4 @@ class TwittersettingsAction extends ConnectSettingsAction
$this->showForm(_m('Twitter preferences saved.'), true);
}
-
}
diff --git a/plugins/UserLimitPlugin.php b/plugins/UserLimit/UserLimitPlugin.php
index ab3187299..ab3187299 100644
--- a/plugins/UserLimitPlugin.php
+++ b/plugins/UserLimit/UserLimitPlugin.php
diff --git a/plugins/UserLimit/locale/UserLimit.pot b/plugins/UserLimit/locale/UserLimit.pot
new file mode 100644
index 000000000..fcce8f676
--- /dev/null
+++ b/plugins/UserLimit/locale/UserLimit.pot
@@ -0,0 +1,21 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr ""
diff --git a/plugins/WikiHashtagsPlugin.php b/plugins/WikiHashtags/WikiHashtagsPlugin.php
index c6c976b8f..c6c976b8f 100644
--- a/plugins/WikiHashtagsPlugin.php
+++ b/plugins/WikiHashtags/WikiHashtagsPlugin.php
diff --git a/plugins/WikiHashtags/locale/WikiHashtags.pot b/plugins/WikiHashtags/locale/WikiHashtags.pot
new file mode 100644
index 000000000..cae1daa5a
--- /dev/null
+++ b/plugins/WikiHashtags/locale/WikiHashtags.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
diff --git a/plugins/WikiHowProfile/WikiHowProfilePlugin.php b/plugins/WikiHowProfile/WikiHowProfilePlugin.php
index b72bd55d6..fa683c483 100644
--- a/plugins/WikiHowProfile/WikiHowProfilePlugin.php
+++ b/plugins/WikiHowProfile/WikiHowProfilePlugin.php
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class WikiHowProfilePlugin extends Plugin
{
function onPluginVersion(&$versions)
@@ -57,7 +56,7 @@ class WikiHowProfilePlugin extends Plugin
'author' => 'Brion Vibber',
'homepage' => 'http://status.net/wiki/Plugin:Sample',
'rawdescription' =>
- _m('Fetches avatar and other profile info for WikiHow users when setting up an account via OpenID.'));
+ _m('Fetches avatar and other profile information for WikiHow users when setting up an account via OpenID.'));
return true;
}
@@ -107,14 +106,14 @@ class WikiHowProfilePlugin extends Plugin
/**
* Given a user's WikiHow profile URL, find their avatar.
- *
+ *
* @param string $profileUrl user page on the wiki
- *
+ *
* @return array of data; possible members:
* 'avatar' => full URL to avatar image
- *
+ *
* @throws Exception on various low-level failures
- *
+ *
* @todo pull location, web site, and about sections -- they aren't currently marked up cleanly.
*/
private function fetchProfile($profileUrl)
@@ -169,14 +168,14 @@ class WikiHowProfilePlugin extends Plugin
private function saveAvatar($user, $url)
{
if (!common_valid_http_url($url)) {
- throw new ServerException(sprintf(_m("Invalid avatar URL %s"), $url));
+ throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url));
}
// @fixme this should be better encapsulated
// ripped from OStatus via oauthstore.php (for old OMB client)
$temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
if (!copy($url, $temp_filename)) {
- throw new ServerException(sprintf(_m("Unable to fetch avatar from %s"), $url));
+ throw new ServerException(sprintf(_m("Unable to fetch avatar from %s."), $url));
}
$profile = $user->getProfile();
@@ -191,6 +190,4 @@ class WikiHowProfilePlugin extends Plugin
rename($temp_filename, Avatar::path($filename));
$profile->setOriginal($filename);
}
-
}
-
diff --git a/plugins/WikiHowProfile/locale/WikiHowProfile.pot b/plugins/WikiHowProfile/locale/WikiHowProfile.pot
index a1e49c769..6da28186c 100644
--- a/plugins/WikiHowProfile/locale/WikiHowProfile.pot
+++ b/plugins/WikiHowProfile/locale/WikiHowProfile.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-14 22:56+0000\n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,18 +16,18 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: WikiHowProfilePlugin.php:60
+#: WikiHowProfilePlugin.php:59
msgid ""
-"Fetches avatar and other profile info for WikiHow users when setting up an "
-"account via OpenID."
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
msgstr ""
-#: WikiHowProfilePlugin.php:172
+#: WikiHowProfilePlugin.php:171
#, php-format
-msgid "Invalid avatar URL %s"
+msgid "Invalid avatar URL %s."
msgstr ""
-#: WikiHowProfilePlugin.php:179
+#: WikiHowProfilePlugin.php:178
#, php-format
-msgid "Unable to fetch avatar from %s"
+msgid "Unable to fetch avatar from %s."
msgstr ""
diff --git a/plugins/XCachePlugin.php b/plugins/XCache/XCachePlugin.php
index 2baa290ed..2baa290ed 100644
--- a/plugins/XCachePlugin.php
+++ b/plugins/XCache/XCachePlugin.php
diff --git a/plugins/XCache/locale/XCache.pot b/plugins/XCache/locale/XCache.pot
new file mode 100644
index 000000000..82992fc82
--- /dev/null
+++ b/plugins/XCache/locale/XCache.pot
@@ -0,0 +1,23 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-09-18 22:06+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""