]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch 'master' into 0.9.x
authorBrion Vibber <brion@pobox.com>
Tue, 16 Nov 2010 19:17:29 +0000 (11:17 -0800)
committerBrion Vibber <brion@pobox.com>
Tue, 16 Nov 2010 19:17:29 +0000 (11:17 -0800)
237 files changed:
EVENTS.txt
README
actions/apiatomservice.php [new file with mode: 0644]
actions/apifriendshipsexists.php
actions/apioauthauthorize.php
actions/apistatusesshow.php
actions/apistatusesupdate.php
actions/apitimelineuser.php
actions/attachment.php
actions/attachment_ajax.php
actions/attachment_thumbnail.php
actions/avatarbynickname.php
actions/avatarsettings.php
actions/block.php
actions/blockedfromgroup.php
actions/bookmarklet.php
actions/confirmaddress.php
actions/conversation.php
actions/deleteapplication.php
actions/deletegroup.php
actions/deletenotice.php
actions/editapplication.php
actions/editgroup.php
actions/emailsettings.php
actions/groupunblock.php
actions/invite.php
actions/licenseadminpanel.php
actions/newapplication.php
actions/newgroup.php
actions/newnotice.php
actions/oembed.php
actions/othersettings.php
actions/recoverpassword.php
actions/rsd.php
actions/showgroup.php
actions/showmessage.php
actions/shownotice.php
actions/showstream.php
actions/sitenoticeadminpanel.php
actions/subedit.php
actions/useradminpanel.php
classes/File.php
classes/File_oembed.php
classes/File_redirection.php
classes/File_thumbnail.php
classes/Notice.php
classes/Profile.php
classes/User_group.php
extlib/Services/oEmbed.php [deleted file]
extlib/Services/oEmbed/Exception.php [deleted file]
extlib/Services/oEmbed/Exception/NoSupport.php [deleted file]
extlib/Services/oEmbed/Object.php [deleted file]
extlib/Services/oEmbed/Object/Common.php [deleted file]
extlib/Services/oEmbed/Object/Exception.php [deleted file]
extlib/Services/oEmbed/Object/Link.php [deleted file]
extlib/Services/oEmbed/Object/Photo.php [deleted file]
extlib/Services/oEmbed/Object/Rich.php [deleted file]
extlib/Services/oEmbed/Object/Video.php [deleted file]
js/util.js
lib/action.php
lib/apiaction.php
lib/attachmentlist.php
lib/command.php
lib/default.php
lib/designsettings.php
lib/feedlist.php
lib/groupeditform.php
lib/imagefile.php
lib/inlineattachmentlist.php [new file with mode: 0644]
lib/mail.php
lib/mailhandler.php
lib/mediafile.php
lib/noticelist.php
lib/oembedhelper.php [new file with mode: 0644]
lib/personalgroupnav.php
lib/ping.php
lib/router.php
lib/searchaction.php
lib/statusnet.php
lib/theme.php
lib/themeuploader.php
lib/uapplugin.php
lib/unblockform.php
lib/util.php
locale/af/LC_MESSAGES/statusnet.po
locale/ar/LC_MESSAGES/statusnet.po
locale/arz/LC_MESSAGES/statusnet.po
locale/bg/LC_MESSAGES/statusnet.po
locale/br/LC_MESSAGES/statusnet.po
locale/ca/LC_MESSAGES/statusnet.po
locale/cs/LC_MESSAGES/statusnet.po
locale/de/LC_MESSAGES/statusnet.po
locale/en_GB/LC_MESSAGES/statusnet.po
locale/eo/LC_MESSAGES/statusnet.po
locale/es/LC_MESSAGES/statusnet.po
locale/fa/LC_MESSAGES/statusnet.po
locale/fi/LC_MESSAGES/statusnet.po
locale/fr/LC_MESSAGES/statusnet.po
locale/ga/LC_MESSAGES/statusnet.po
locale/gl/LC_MESSAGES/statusnet.po
locale/hsb/LC_MESSAGES/statusnet.po
locale/hu/LC_MESSAGES/statusnet.po
locale/ia/LC_MESSAGES/statusnet.po
locale/is/LC_MESSAGES/statusnet.po
locale/it/LC_MESSAGES/statusnet.po
locale/ja/LC_MESSAGES/statusnet.po
locale/ka/LC_MESSAGES/statusnet.po
locale/ko/LC_MESSAGES/statusnet.po
locale/mk/LC_MESSAGES/statusnet.po
locale/nb/LC_MESSAGES/statusnet.po
locale/nl/LC_MESSAGES/statusnet.po
locale/nn/LC_MESSAGES/statusnet.po
locale/pl/LC_MESSAGES/statusnet.po
locale/pt/LC_MESSAGES/statusnet.po
locale/pt_BR/LC_MESSAGES/statusnet.po
locale/ru/LC_MESSAGES/statusnet.po
locale/statusnet.pot
locale/sv/LC_MESSAGES/statusnet.po
locale/te/LC_MESSAGES/statusnet.po
locale/tr/LC_MESSAGES/statusnet.po
locale/uk/LC_MESSAGES/statusnet.po
locale/zh_CN/LC_MESSAGES/statusnet.po
plugins/Adsense/AdsensePlugin.php
plugins/Adsense/locale/Adsense.pot
plugins/Adsense/locale/br/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/de/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/pt_BR/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/tl/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po
plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po
plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po
plugins/Comet/locale/br/LC_MESSAGES/Comet.po [new file with mode: 0644]
plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po
plugins/EmailSummary/EmailSummaryPlugin.php [new file with mode: 0644]
plugins/EmailSummary/Email_summary_status.php [new file with mode: 0644]
plugins/EmailSummary/sendemailsummary.php [new file with mode: 0644]
plugins/EmailSummary/siteemailsummaryhandler.php [new file with mode: 0644]
plugins/EmailSummary/useremailsummaryhandler.php [new file with mode: 0644]
plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po
plugins/GroupFavorited/groupfavoritedaction.php
plugins/GroupFavorited/locale/GroupFavorited.pot
plugins/GroupFavorited/locale/br/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/de/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/fr/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/ru/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po
plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po
plugins/Mapstraction/allmap.php
plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/nb/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/ta/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/locale/zh_CN/LC_MESSAGES/Mapstraction.po
plugins/Mapstraction/usermap.php
plugins/Memcached/locale/ja/LC_MESSAGES/Memcached.po [new file with mode: 0644]
plugins/NoticeTitle/locale/pl/LC_MESSAGES/NoticeTitle.po [new file with mode: 0644]
plugins/OStatus/classes/Ostatus_profile.php
plugins/OStatus/locale/OStatus.pot
plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po
plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po
plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po
plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po
plugins/OpenX/locale/br/LC_MESSAGES/OpenX.po [new file with mode: 0644]
plugins/Realtime/README
plugins/Realtime/RealtimePlugin.php
plugins/Realtime/locale/Realtime.pot [new file with mode: 0644]
plugins/Realtime/locale/af/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/locale/br/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/locale/ia/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/locale/mk/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/locale/nl/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/locale/tr/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/locale/uk/LC_MESSAGES/Realtime.po [new file with mode: 0644]
plugins/Realtime/realtimeupdate.css
plugins/Realtime/realtimeupdate.js
plugins/Sample/locale/br/LC_MESSAGES/Sample.po
plugins/Sitemap/locale/br/LC_MESSAGES/Sitemap.po
plugins/TabFocus/locale/br/LC_MESSAGES/TabFocus.po [new file with mode: 0644]
plugins/TwitterBridge/TwitterBridgePlugin.php
plugins/TwitterBridge/daemons/twitterdaemon.php [new file with mode: 0644]
plugins/TwitterBridge/daemons/twitterstatusfetcher.php
plugins/TwitterBridge/jsonstreamreader.php [new file with mode: 0644]
plugins/TwitterBridge/locale/TwitterBridge.pot
plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po
plugins/TwitterBridge/scripts/fakestream.php [new file with mode: 0644]
plugins/TwitterBridge/scripts/streamtest.php [new file with mode: 0644]
plugins/TwitterBridge/tweetctlqueuehandler.php [new file with mode: 0644]
plugins/TwitterBridge/tweetinqueuehandler.php [new file with mode: 0644]
plugins/TwitterBridge/twitterimport.php [new file with mode: 0644]
plugins/TwitterBridge/twittersettings.php
plugins/TwitterBridge/twitterstreamreader.php [new file with mode: 0644]
plugins/UserFlag/UserFlagPlugin.php
plugins/UserFlag/User_flag_profile.php
plugins/UserFlag/flagprofile.php
plugins/UserFlag/locale/UserFlag.pot
plugins/UserFlag/locale/fr/LC_MESSAGES/UserFlag.po
plugins/UserFlag/locale/ia/LC_MESSAGES/UserFlag.po
plugins/UserFlag/locale/mk/LC_MESSAGES/UserFlag.po
plugins/UserFlag/locale/nl/LC_MESSAGES/UserFlag.po
plugins/UserFlag/locale/pt/LC_MESSAGES/UserFlag.po
plugins/UserFlag/locale/uk/LC_MESSAGES/UserFlag.po
plugins/UserLimit/locale/fi/LC_MESSAGES/UserLimit.po [new file with mode: 0644]
plugins/XCache/locale/fi/LC_MESSAGES/XCache.po [new file with mode: 0644]
scripts/make-release.php [new file with mode: 0644]
scripts/restoreuser.php
tests/oEmbedTest.php [new file with mode: 0644]
theme/base/css/display.css

index 8e730945a41b34aa024301c9a057b2dd7fa6de75..a3b0804e8f6bc0e3f787d0742faf2ea4459de00c 100644 (file)
@@ -118,16 +118,16 @@ EndShowHTML: Showing after the html element
 - $action: the current action
 
 StartPublicGroupNav: Showing the public group nav menu
-- $action: the current action
+- $menu: the menu widget; use $menu->action for output
 
 EndPublicGroupNav: At the end of the public group nav menu
-- $action: the current action
+- $menu: the menu widget; use $menu->action for output
 
 StartSubGroupNav: Showing the subscriptions group nav menu
-- $action: the current action
+- $menu: the menu widget; use $menu->action for output
 
 EndSubGroupNav: At the end of the subscriptions group nav menu
-- $action: the current action
+- $menu: the menu widget; use $menu->action for output
 
 StartInitializeRouter: Before the router instance has been initialized; good place to add routes
 - $m: the Net_URL_Mapper that has just been set up
@@ -302,6 +302,20 @@ StartProfileSaveForm: before starting to save a profile settings form
 EndProfileSaveForm: after saving a profile settings form (after commit, no profile or user object!)
 - $action: action object being shown
 
+StartEmailFormData: just before showing text entry fields on email settings page
+- $action: action object being shown
+
+EndEmailFormData: just after showing text entry fields on email settings page
+- $action: action object being shown
+
+StartEmailSaveForm: before starting to save a email settings form
+- $action: action object being shown
+- &$user: user being saved
+
+EndEmailSaveForm: after saving a email settings form (after commit)
+- $action: action object being shown
+- &$user: user being saved
+
 StartRegistrationFormData: just before showing text entry fields on registration page
 - $action: action object being shown
 
@@ -1158,3 +1172,11 @@ StartRevokeRole: when a role is being revoked
 EndRevokeRole: when a role has been revoked
 - $profile: profile that lost the role
 - $role: string name of the role
+
+StartAtomPubNewActivity: When a new activity comes in through Atom Pub API
+- &$activity: received activity
+
+EndAtomPubNewActivity: When a new activity comes in through Atom Pub API
+- $activity: received activity
+- $notice: notice that was created
+
diff --git a/README b/README
index b36d8b745402146c9c5d5c7627386fe22cd762de..6343e3e02465c778611b16261b18c7d377d4c71b 100644 (file)
--- a/README
+++ b/README
@@ -220,14 +220,12 @@ and the URLs are listed here for your convenience.
   version may render your StatusNet site unable to send or receive XMPP
   messages.
 - Facebook library. Used for the Facebook application.
-- PEAR Services_oEmbed. Used for some multimedia integration.
-- PEAR HTTP_Request is an oEmbed dependency.
-- PEAR Validate is an oEmbed dependency.
-- PEAR Net_URL2 is an oEmbed dependency.
+- PEAR Validate is used for URL and email validation.
 - Console_GetOpt for parsing command-line options.
 - libomb. a library for implementing OpenMicroBlogging 0.1, the
   predecessor to OStatus.
 - HTTP_Request2, a library for making HTTP requests.
+- PEAR Net_URL2 is an HTTP_Request2 dependency.
 
 A design goal of StatusNet is that the basic Web functionality should
 work on even the most restrictive commercial hosting services.
diff --git a/actions/apiatomservice.php b/actions/apiatomservice.php
new file mode 100644 (file)
index 0000000..fb9d6ae
--- /dev/null
@@ -0,0 +1,100 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * An AtomPub service document for a user
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  API
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link      http://status.net/
+ */
+
+require_once INSTALLDIR.'/lib/apibareauth.php';
+
+/**
+ * Shows an AtomPub service document for a user
+ *
+ * @category  API
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link      http://status.net/
+ */
+
+class ApiAtomServiceAction extends ApiBareAuthAction
+{
+    /**
+     * Take arguments for running
+     *
+     * @param array $args $_REQUEST args
+     *
+     * @return boolean success flag
+     *
+     */
+
+    function prepare($args)
+    {
+        parent::prepare($args);
+        $this->user = $this->getTargetUser($this->arg('id'));
+
+        if (empty($this->user)) {
+            $this->clientError(_('No such user.'), 404, $this->format);
+            return;
+        }
+
+        return true;
+    }
+
+    /**
+     * Handle the arguments. In our case, show a service document.
+     *
+     * @param Array $args unused.
+     *
+     * @return void
+     */
+
+    function handle($args)
+    {
+        parent::handle($args);
+
+        header('Content-Type: application/atomsvc+xml');
+
+        $this->startXML();
+        $this->elementStart('service', array('xmlns' => 'http://www.w3.org/2007/app',
+                                             'xmlns:atom' => 'http://www.w3.org/2005/Atom'));
+        $this->elementStart('workspace');
+        $this->element('atom:title', null, _('Main'));
+        $this->elementStart('collection',
+                            array('href' => common_local_url('ApiTimelineUser',
+                                                             array('id' => $this->user->id,
+                                                                   'format' => 'atom'))));
+        $this->element('atom:title',
+                       null,
+                       sprintf(_("%s timeline"),
+                               $this->user->nickname));
+        $this->element('accept', null, 'application/atom+xml;type=entry');
+        $this->elementEnd('collection');
+        $this->elementEnd('workspace');
+        $this->elementEnd('service');
+        $this->endXML();
+    }
+}
index c8766633b67f07181ed75a3c5d339117d9bcb2b5..43b1daf4fc62bd10975c5d002a052cdd870d9d0e 100644 (file)
@@ -85,7 +85,7 @@ class ApiFriendshipsExistsAction extends ApiPrivateAuthAction
         if (empty($this->profile_a) || empty($this->profile_b)) {
             $this->clientError(
                 // TRANS: Client error displayed when supplying invalid parameters to an API call checking if a friendship exists.
-                _('Two valid IDs or screen_names must be supplied.'),
+                _('Two valid IDs or nick names must be supplied.'),
                 400,
                 $this->format
             );
index b2c0de719add7a200398b10d9775060a90c6b02c..d76ae060f2f778a2a018265e2dbba0263ba28e5b 100644 (file)
@@ -421,7 +421,7 @@ class ApiOauthAuthorizeAction extends Action
         if ($this->app->name == 'anonymous') {
             // Special message for the anonymous app and consumer.
             // TRANS: User notification of external application requesting account access.
-            // TRANS: %3$s is the access type requested, %4$s is the StatusNet sitename.
+            // TRANS: %3$s is the access type requested (read-write or read-only), %4$s is the StatusNet sitename.
             $msg = _('An application would like the ability ' .
                  'to <strong>%3$s</strong> your %4$s account data. ' .
                  'You should only give access to your %4$s account ' .
index a98e45f79ca04776b67a9e8de706dd8b27b04fe7..e684a07eec90a56033ecf31106e886e57ab1bfd3 100644 (file)
@@ -100,13 +100,23 @@ class ApiStatusesShowAction extends ApiPrivateAuthAction
     {
         parent::handle($args);
 
-        if (!in_array($this->format, array('xml', 'json'))) {
+        if (!in_array($this->format, array('xml', 'json', 'atom'))) {
             // TRANS: Client error displayed when trying to handle an unknown API method.
-            $this->clientError(_('API method not found.'), $code = 404);
+            $this->clientError(_('API method not found.'), 404);
             return;
         }
 
-        $this->showNotice();
+        switch ($_SERVER['REQUEST_METHOD']) {
+        case 'GET':
+            $this->showNotice();
+            break;
+        case 'DELETE':
+            $this->deleteNotice();
+            break;
+        default:
+            $this->clientError(_('HTTP method not supported.'), 405);
+            return;
+        }
     }
 
     /**
@@ -117,10 +127,18 @@ class ApiStatusesShowAction extends ApiPrivateAuthAction
     function showNotice()
     {
         if (!empty($this->notice)) {
-            if ($this->format == 'xml') {
+            switch ($this->format) {
+            case 'xml':
                 $this->showSingleXmlStatus($this->notice);
-            } elseif ($this->format == 'json') {
+                break;
+            case 'json':
                 $this->show_single_json_status($this->notice);
+                break;
+            case 'atom':
+                $this->showSingleAtomStatus($this->notice);
+                break;
+            default:
+                throw new Exception(sprintf(_("Unsupported format: %s"), $this->format));
             }
         } else {
             // XXX: Twitter just sets a 404 header and doens't bother
@@ -153,9 +171,14 @@ class ApiStatusesShowAction extends ApiPrivateAuthAction
      *
      * @return boolean true
      */
+    
     function isReadOnly($args)
     {
-        return true;
+        if ($_SERVER['REQUEST_METHOD'] == 'GET') {
+           return true;
+       } else {
+           return false;
+       }
     }
 
     /**
@@ -197,4 +220,31 @@ class ApiStatusesShowAction extends ApiPrivateAuthAction
 
         return null;
     }
+
+    function deleteNotice()
+    {
+        if ($this->format != 'atom') {
+            $this->clientError(_("Can only delete using the Atom format."));
+            return;
+        }
+
+        if (empty($this->auth_user) ||
+            ($this->notice->profile_id != $this->auth_user->id &&
+             !$this->auth_user->hasRight(Right::DELETEOTHERSNOTICE))) {
+            $this->clientError(_('Can\'t delete this notice.'), 403);
+            return;
+        }
+
+        if (Event::handle('StartDeleteOwnNotice', array($this->auth_user, $this->notice))) {
+            $this->notice->delete();
+            Event::handle('EndDeleteOwnNotice', array($this->auth_user, $this->notice));
+        }
+
+        // @fixme is there better output we could do here?
+
+        header('HTTP/1.1 200 OK');
+        header('Content-Type: text/plain');
+        print(sprintf(_('Deleted notice %d'), $this->notice->id));
+        print("\n");
+    }
 }
index 666ed9fa32330f55863073418530cd3206e1c752..1a3b549004750452200c45e5b658b16c5241370b 100644 (file)
@@ -55,7 +55,7 @@
     Yes
 
     @param status (Required) The URL-encoded text of the status update.
-    @param source (Optional) The source of the status.
+    @param source (Optional) The source application name, if using HTTP authentication or an anonymous OAuth consumer.
     @param in_reply_to_status_id (Optional) The ID of an existing status that the update is in reply to.
     @param lat (Optional) The latitude the status refers to.
     @param long (Optional) The longitude the status refers to.
@@ -67,7 +67,7 @@
     @subsection usagenotes Usage notes
 
     @li The URL pattern is relative to the @ref apiroot.
-    @li If the @e source parameter is not supplied the source of the status will default to 'api'.
+    @li If the @e source parameter is not supplied the source of the status will default to 'api'. When authenticated via a registered OAuth application, the application's registered name and URL will always override the source parameter.
     @li The XML response uses <a href="http://georss.org/Main_Page">GeoRSS</a>
     to encode the latitude and longitude (see example response below <georss:point>).
     @li Data uploaded via the @e media parameter should be multipart/form-data encoded.
index 0046c462d71cc7ef5970bdd01147378aa767eb26..f716232e43b16ac6fa77aa1f56148067d4b864ab 100644 (file)
@@ -97,7 +97,12 @@ class ApiTimelineUserAction extends ApiBareAuthAction
     function handle($args)
     {
         parent::handle($args);
-        $this->showTimeline();
+
+        if ($this->isPost()) {
+            $this->handlePost();
+        } else {
+            $this->showTimeline();
+        }
     }
 
     /**
@@ -114,9 +119,9 @@ class ApiTimelineUserAction extends ApiBareAuthAction
         $atom = new AtomUserNoticeFeed($this->user, $this->auth_user);
 
         $link = common_local_url(
-            'showstream',
-            array('nickname' => $this->user->nickname)
-        );
+                                 'showstream',
+                                 array('nickname' => $this->user->nickname)
+                                 );
 
         $self = $this->getSelfUri();
 
@@ -132,20 +137,63 @@ class ApiTimelineUserAction extends ApiBareAuthAction
             break;
         case 'rss':
             $this->showRssTimeline(
-                $this->notices,
-                $atom->title,
-                $link,
-                $atom->subtitle,
-                $suplink,
-                $atom->logo,
-                $self
-            );
+                                   $this->notices,
+                                   $atom->title,
+                                   $link,
+                                   $atom->subtitle,
+                                   $suplink,
+                                   $atom->logo,
+                                   $self
+                                   );
             break;
         case 'atom':
             header('Content-Type: application/atom+xml; charset=utf-8');
 
             $atom->setId($self);
             $atom->setSelfLink($self);
+
+            // Add navigation links: next, prev, first
+            // Note: we use IDs rather than pages for navigation; page boundaries
+            // change too quickly!
+
+            if (!empty($this->next_id)) {
+                $nextUrl = common_local_url('ApiTimelineUser',
+                                            array('format' => 'atom',
+                                                  'id' => $this->user->id),
+                                            array('max_id' => $this->next_id));
+
+                $atom->addLink($nextUrl,
+                               array('rel' => 'next',
+                                     'type' => 'application/atom+xml'));
+            }
+
+            if (($this->page > 1 || !empty($this->max_id)) && !empty($this->notices)) {
+
+                $lastNotice = $this->notices[0];
+                $lastId     = $lastNotice->id;
+
+                $prevUrl = common_local_url('ApiTimelineUser',
+                                            array('format' => 'atom',
+                                                  'id' => $this->user->id),
+                                            array('since_id' => $lastId));
+
+                $atom->addLink($prevUrl,
+                               array('rel' => 'prev',
+                                     'type' => 'application/atom+xml'));
+            }
+
+            if ($this->page > 1 || !empty($this->since_id) || !empty($this->max_id)) {
+
+                $firstUrl = common_local_url('ApiTimelineUser',
+                                            array('format' => 'atom',
+                                                  'id' => $this->user->id));
+
+                $atom->addLink($firstUrl,
+                               array('rel' => 'first',
+                                     'type' => 'application/atom+xml'));
+
+            }
+
             $atom->addEntryFromNotices($this->notices);
             $this->raw($atom->getString());
 
@@ -169,13 +217,18 @@ class ApiTimelineUserAction extends ApiBareAuthAction
     {
         $notices = array();
 
-        $notice = $this->user->getNotices(
-            ($this->page-1) * $this->count, $this->count,
-            $this->since_id, $this->max_id
-        );
+        $notice = $this->user->getNotices(($this->page-1) * $this->count,
+                                          $this->count + 1,
+                                          $this->since_id,
+                                          $this->max_id);
 
         while ($notice->fetch()) {
-            $notices[] = clone($notice);
+            if (count($notices) < $this->count) {
+                $notices[] = clone($notice);
+            } else {
+                $this->next_id = $notice->id;
+                break;
+            }
         }
 
         return $notices;
@@ -188,9 +241,14 @@ class ApiTimelineUserAction extends ApiBareAuthAction
      *
      * @return boolean true
      */
+    
     function isReadOnly($args)
     {
-        return true;
+        if ($_SERVER['REQUEST_METHOD'] == 'GET') {
+           return true;
+       } else {
+           return false;
+       }
     }
 
     /**
@@ -221,17 +279,206 @@ class ApiTimelineUserAction extends ApiBareAuthAction
             $last = count($this->notices) - 1;
 
             return '"' . implode(
-                ':',
-                array($this->arg('action'),
-                      common_user_cache_hash($this->auth_user),
-                      common_language(),
-                      $this->user->id,
-                      strtotime($this->notices[0]->created),
-                      strtotime($this->notices[$last]->created))
-            )
-            . '"';
+                                 ':',
+                                 array($this->arg('action'),
+                                       common_user_cache_hash($this->auth_user),
+                                       common_language(),
+                                       $this->user->id,
+                                       strtotime($this->notices[0]->created),
+                                       strtotime($this->notices[$last]->created))
+                                 )
+              . '"';
         }
 
         return null;
     }
+
+    function handlePost()
+    {
+        if (empty($this->auth_user) ||
+            $this->auth_user->id != $this->user->id) {
+            $this->clientError(_("Only the user can add to their own timeline."));
+            return;
+        }
+
+        if ($this->format != 'atom') {
+            // Only handle posts for Atom
+            $this->clientError(_("Only accept AtomPub for atom feeds."));
+            return;
+        }
+
+        $xml = file_get_contents('php://input');
+
+        $dom = DOMDocument::loadXML($xml);
+
+        if ($dom->documentElement->namespaceURI != Activity::ATOM ||
+            $dom->documentElement->localName != 'entry') {
+            $this->clientError(_('Atom post must be an Atom entry.'));
+            return;
+        }
+
+        $activity = new Activity($dom->documentElement);
+
+        if (Event::handle('StartAtomPubNewActivity', array(&$activity))) {
+
+            if ($activity->verb != ActivityVerb::POST) {
+                $this->clientError(_('Can only handle post activities.'));
+                return;
+            }
+
+            $note = $activity->objects[0];
+
+            if (!in_array($note->type, array(ActivityObject::NOTE,
+                                             ActivityObject::BLOGENTRY,
+                                             ActivityObject::STATUS))) {
+                $this->clientError(sprintf(_('Cannot handle activity object type "%s"',
+                                             $note->type)));
+                return;
+            }
+
+            $saved = $this->postNote($activity);
+
+            Event::handle('EndAtomPubNewActivity', array($activity, $saved));
+        }
+
+        if (!empty($saved)) {
+            header("Location: " . common_local_url('ApiStatusesShow', array('notice_id' => $saved->id,
+                                                                            'format' => 'atom')));
+            $this->showSingleAtomStatus($saved);
+        }
+    }
+
+    function postNote($activity)
+    {
+        $note = $activity->objects[0];
+
+        // Use summary as fallback for content
+
+        if (!empty($note->content)) {
+            $sourceContent = $note->content;
+        } else if (!empty($note->summary)) {
+            $sourceContent = $note->summary;
+        } else if (!empty($note->title)) {
+            $sourceContent = $note->title;
+        } else {
+            // @fixme fetch from $sourceUrl?
+            // @todo i18n FIXME: use sprintf and add i18n.
+            $this->clientError("No content for notice {$note->id}.");
+            return;
+        }
+
+        // Get (safe!) HTML and text versions of the content
+
+        $rendered = $this->purify($sourceContent);
+        $content = html_entity_decode(strip_tags($rendered), ENT_QUOTES, 'UTF-8');
+
+        $shortened = common_shorten_links($content);
+
+        $options = array('is_local' => Notice::LOCAL_PUBLIC,
+                         'rendered' => $rendered,
+                         'replies' => array(),
+                         'groups' => array(),
+                         'tags' => array(),
+                         'urls' => array());
+
+        // accept remote URI (not necessarily a good idea)
+
+        common_debug("Note ID is {$note->id}");
+
+        if (!empty($note->id)) {
+            $notice = Notice::staticGet('uri', trim($note->id));
+
+            if (!empty($notice)) {
+                $this->clientError(sprintf(_('Notice with URI "%s" already exists.'),
+                                           $note->id));
+                return;
+            }
+            common_log(LOG_NOTICE, "Saving client-supplied notice URI '$note->id'");
+            $options['uri'] = $note->id;
+        }
+
+        // accept remote create time (also maybe not such a good idea)
+
+        if (!empty($activity->time)) {
+            common_log(LOG_NOTICE, "Saving client-supplied create time {$activity->time}");
+            $options['created'] = common_sql_date($activity->time);
+        }
+
+        // Check for optional attributes...
+
+        if (!empty($activity->context)) {
+
+            foreach ($activity->context->attention as $uri) {
+
+                $profile = Profile::fromURI($uri);
+
+                if (!empty($profile)) {
+                    $options['replies'] = $uri;
+                } else {
+                    $group = User_group::staticGet('uri', $uri);
+                    if (!empty($group)) {
+                        $options['groups'] = $uri;
+                    } else {
+                        // @fixme: hook for discovery here
+                        common_log(LOG_WARNING, sprintf(_('AtomPub post with unknown attention URI %s'), $uri));
+                    }
+                }
+            }
+
+            // Maintain direct reply associations
+            // @fixme what about conversation ID?
+
+            if (!empty($activity->context->replyToID)) {
+                $orig = Notice::staticGet('uri',
+                                          $activity->context->replyToID);
+                if (!empty($orig)) {
+                    $options['reply_to'] = $orig->id;
+                }
+            }
+
+            $location = $activity->context->location;
+
+            if ($location) {
+                $options['lat'] = $location->lat;
+                $options['lon'] = $location->lon;
+                if ($location->location_id) {
+                    $options['location_ns'] = $location->location_ns;
+                    $options['location_id'] = $location->location_id;
+                }
+            }
+        }
+
+        // Atom categories <-> hashtags
+
+        foreach ($activity->categories as $cat) {
+            if ($cat->term) {
+                $term = common_canonical_tag($cat->term);
+                if ($term) {
+                    $options['tags'][] = $term;
+                }
+            }
+        }
+
+        // Atom enclosures -> attachment URLs
+        foreach ($activity->enclosures as $href) {
+            // @fixme save these locally or....?
+            $options['urls'][] = $href;
+        }
+
+        $saved = Notice::saveNew($this->user->id,
+                                 $content,
+                                 'atompub', // TODO: deal with this
+                                 $options);
+
+        return $saved;
+    }
+
+    function purify($content)
+    {
+        require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.php';
+
+        $config = array('safe' => 1,
+                        'deny_attribute' => 'id,style,on*');
+        return htmLawed($content, $config);
+    }
 }
index 6981354d10546262c85c8f7f00bf19376b87058e..45aa78728a2510d08182371950e2e0f66112cc9d 100644 (file)
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/lib/attachmentlist.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 AttachmentAction extends Action
 {
     /**
@@ -70,6 +69,7 @@ class AttachmentAction extends Action
         }
 
         if (empty($this->attachment)) {
+            // TRANS: Client error displayed trying to get a non-existing attachment.
             $this->clientError(_('No such attachment.'), 404);
             return false;
         }
@@ -81,7 +81,6 @@ class AttachmentAction extends Action
      *
      * @return boolean true
      */
-
     function isReadOnly($args)
     {
         return true;
@@ -129,7 +128,6 @@ class AttachmentAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -150,7 +148,6 @@ class AttachmentAction extends Action
      *
      * @return void
      */
-
     function showLocalNavBlock()
     {
     }
@@ -162,7 +159,6 @@ class AttachmentAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         $ali = new Attachment($this->attachment, $this);
@@ -174,7 +170,6 @@ class AttachmentAction extends Action
      *
      * @return void
      */
-
     function showPageNoticeBlock()
     {
     }
@@ -191,4 +186,3 @@ class AttachmentAction extends Action
         $atcs->show();
     }
 }
-
index 1e07280750267a30dd13510fabeda0e83175ae20..fb7d15f8a2f0806fb07c0a62abed96cd2f7b67ff 100644 (file)
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/actions/attachment.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 Attachment_ajaxAction extends AttachmentAction
 {
     /**
@@ -80,4 +79,3 @@ class Attachment_ajaxAction extends AttachmentAction
         $this->elementEnd('div');
     }
 }
-
index 7d0ac97a6906f53bff785009940a938160b7d543..38648b8bef4005d25a4706e721abac7944372b9a 100644 (file)
@@ -42,10 +42,8 @@ require_once INSTALLDIR.'/actions/attachment.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 Attachment_thumbnailAction extends AttachmentAction
 {
-
     function handle($args)
     {
         $this->showPage();
@@ -79,6 +77,4 @@ class Attachment_thumbnailAction extends AttachmentAction
         }
         $this->element('img', array('src' => $file_thumbnail->url, 'alt' => 'Thumbnail'));
     }
-
 }
-
index 537950792f18367046d9ac231d0b64b941724715..fa97a86ebf69b98127791ddf7a42731e8c7c4264 100644 (file)
@@ -48,7 +48,7 @@ class AvatarbynicknameAction extends Action
      * Class handler.
      *
      * @param array $args query arguments
-     * 
+     *
      * @return boolean false if nickname or user isn't found
      */
     function handle($args)
@@ -56,27 +56,32 @@ class AvatarbynicknameAction extends Action
         parent::handle($args);
         $nickname = $this->trimmed('nickname');
         if (!$nickname) {
+            // TRANS: Client error displayed trying to get an avatar without providing a nickname.
             $this->clientError(_('No nickname.'));
             return;
         }
         $size = $this->trimmed('size');
         if (!$size) {
+            // TRANS: Client error displayed trying to get an avatar without providing an avatar size.
             $this->clientError(_('No size.'));
             return;
         }
         $size = strtolower($size);
         if (!in_array($size, array('original', '96', '48', '24'))) {
+            // TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
             $this->clientError(_('Invalid size.'));
             return;
         }
 
         $user = User::staticGet('nickname', $nickname);
         if (!$user) {
+            // TRANS: Client error displayed trying to get an avatar for a non-existing user.
             $this->clientError(_('No such user.'));
             return;
         }
         $profile = $user->getProfile();
         if (!$profile) {
+            // TRANS: Client error displayed trying to get an avatar for a user without a profile.
             $this->clientError(_('User has no profile.'));
             return;
         }
@@ -103,4 +108,3 @@ class AvatarbynicknameAction extends Action
         return true;
     }
 }
-
index 9d4040e75ab9e675b78e355103fe7a0290afd4fd..375420c5c9d5fc656f20b80054333438e28e1bb1 100644 (file)
@@ -49,7 +49,6 @@ define('MAX_ORIGINAL', 480);
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class AvatarsettingsAction extends AccountSettingsAction
 {
     var $mode = null;
@@ -61,9 +60,9 @@ class AvatarsettingsAction extends AccountSettingsAction
      *
      * @return string Title of the page
      */
-
     function title()
     {
+        // TRANS: Title for avatar upload page.
         return _('Avatar');
     }
 
@@ -72,10 +71,12 @@ class AvatarsettingsAction extends AccountSettingsAction
      *
      * @return instructions for use
      */
-
     function getInstructions()
     {
-        return sprintf(_('You can upload your personal avatar. The maximum file size is %s.'), ImageFile::maxFileSize());
+        // TRANS: Instruction for avatar upload page.
+        // TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+        return sprintf(_('You can upload your personal avatar. The maximum file size is %s.'),
+                       ImageFile::maxFileSize());
     }
 
     /**
@@ -103,6 +104,7 @@ class AvatarsettingsAction extends AccountSettingsAction
 
         if (!$profile) {
             common_log_db_error($user, 'SELECT', __FILE__);
+            // TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
             $this->serverError(_('User without matching profile.'));
             return;
         }
@@ -116,14 +118,16 @@ class AvatarsettingsAction extends AccountSettingsAction
                                           'action' =>
                                           common_local_url('avatarsettings')));
         $this->elementStart('fieldset');
+        // TRANS: Avatar upload page form legend.
         $this->element('legend', null, _('Avatar settings'));
         $this->hidden('token', common_session_token());
-        
+
         if (Event::handle('StartAvatarFormData', array($this))) {
             $this->elementStart('ul', 'form_data');
             if ($original) {
                 $this->elementStart('li', array('id' => 'avatar_original',
                                                 'class' => 'avatar_view'));
+                // TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
                 $this->element('h2', null, _("Original"));
                 $this->elementStart('div', array('id'=>'avatar_original_view'));
                 $this->element('img', array('src' => $original->url,
@@ -139,6 +143,7 @@ class AvatarsettingsAction extends AccountSettingsAction
             if ($avatar) {
                 $this->elementStart('li', array('id' => 'avatar_preview',
                                                 'class' => 'avatar_view'));
+                // TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
                 $this->element('h2', null, _("Preview"));
                 $this->elementStart('div', array('id'=>'avatar_preview_view'));
                 $this->element('img', array('src' => $original->url,
@@ -146,7 +151,8 @@ class AvatarsettingsAction extends AccountSettingsAction
                                             'height' => AVATAR_PROFILE_SIZE,
                                             'alt' => $user->nickname));
                 $this->elementEnd('div');
-                $this->submit('delete', _('Delete'));
+                // TRANS: Button on avatar upload page to delete current avatar.
+                $this->submit('delete', _m('BUTTON','Delete'));
                 $this->elementEnd('li');
             }
 
@@ -163,7 +169,8 @@ class AvatarsettingsAction extends AccountSettingsAction
 
             $this->elementStart('ul', 'form_actions');
             $this->elementStart('li');
-            $this->submit('upload', _('Upload'));
+                // TRANS: Button on avatar upload page to upload an avatar.
+            $this->submit('upload', _m('BUTTON','Upload'));
             $this->elementEnd('li');
             $this->elementEnd('ul');
         }
@@ -171,7 +178,6 @@ class AvatarsettingsAction extends AccountSettingsAction
 
         $this->elementEnd('fieldset');
         $this->elementEnd('form');
-
     }
 
     function showCropForm()
@@ -182,6 +188,7 @@ class AvatarsettingsAction extends AccountSettingsAction
 
         if (!$profile) {
             common_log_db_error($user, 'SELECT', __FILE__);
+            // TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
             $this->serverError(_('User without matching profile.'));
             return;
         }
@@ -194,6 +201,7 @@ class AvatarsettingsAction extends AccountSettingsAction
                                           'action' =>
                                           common_local_url('avatarsettings')));
         $this->elementStart('fieldset');
+        // TRANS: Avatar upload page crop form legend.
         $this->element('legend', null, _('Avatar settings'));
         $this->hidden('token', common_session_token());
 
@@ -202,6 +210,7 @@ class AvatarsettingsAction extends AccountSettingsAction
         $this->elementStart('li',
                             array('id' => 'avatar_original',
                                   'class' => 'avatar_view'));
+        // TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
         $this->element('h2', null, _("Original"));
         $this->elementStart('div', array('id'=>'avatar_original_view'));
         $this->element('img', array('src' => Avatar::url($this->filedata['filename']),
@@ -214,6 +223,7 @@ class AvatarsettingsAction extends AccountSettingsAction
         $this->elementStart('li',
                             array('id' => 'avatar_preview',
                                   'class' => 'avatar_view'));
+        // TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
         $this->element('h2', null, _("Preview"));
         $this->elementStart('div', array('id'=>'avatar_preview_view'));
         $this->element('img', array('src' => Avatar::url($this->filedata['filename']),
@@ -228,13 +238,14 @@ class AvatarsettingsAction extends AccountSettingsAction
                                           'type' => 'hidden',
                                           'id' => $crop_info));
         }
-        $this->submit('crop', _('Crop'));
+
+        // TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+        $this->submit('crop', _m('BUTTON','Crop'));
 
         $this->elementEnd('li');
         $this->elementEnd('ul');
         $this->elementEnd('fieldset');
         $this->elementEnd('form');
-
     }
 
     /**
@@ -244,7 +255,6 @@ class AvatarsettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function handlePost()
     {
         // Workaround for PHP returning empty $_POST and $_FILES when POST
@@ -271,7 +281,7 @@ class AvatarsettingsAction extends AccountSettingsAction
                                'Try again, please.'));
             return;
         }
-        
+
         if (Event::handle('StartAvatarSaveForm', array($this))) {
             if ($this->arg('upload')) {
                 $this->uploadAvatar();
@@ -280,6 +290,7 @@ class AvatarsettingsAction extends AccountSettingsAction
                 } else if ($this->arg('delete')) {
                     $this->deleteAvatar();
                 } else {
+                    // TRANS: Unexpected validation error on avatar upload form.
                     $this->showForm(_('Unexpected form submission.'));
                 }
             Event::handle('EndAvatarSaveForm', array($this));
@@ -294,7 +305,6 @@ class AvatarsettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function uploadAvatar()
     {
         try {
@@ -304,6 +314,7 @@ class AvatarsettingsAction extends AccountSettingsAction
             return;
         }
         if ($imagefile === null) {
+            // TRANS: Validation error on avatar upload form when no file was uploaded.
             $this->showForm(_('No file uploaded.'));
             return;
         }
@@ -331,6 +342,7 @@ class AvatarsettingsAction extends AccountSettingsAction
 
         $this->mode = 'crop';
 
+        // TRANS: Avatar upload form unstruction after uploading a file.
         $this->showForm(_('Pick a square area of the image to be your avatar'),
                         true);
     }
@@ -340,12 +352,12 @@ class AvatarsettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function cropAvatar()
     {
         $filedata = $_SESSION['FILEDATA'];
 
         if (!$filedata) {
+            // TRANS: Server error displayed if an avatar upload went wrong somehow server side.
             $this->serverError(_('Lost our file data.'));
             return;
         }
@@ -369,24 +381,25 @@ class AvatarsettingsAction extends AccountSettingsAction
             @unlink($filedata['filepath']);
             unset($_SESSION['FILEDATA']);
             $this->mode = 'upload';
+            // TRANS: Success message for having updated a user avatar.
             $this->showForm(_('Avatar updated.'), true);
             common_broadcast_profile($profile);
         } else {
+            // TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
             $this->showForm(_('Failed updating avatar.'));
         }
     }
-    
+
     /**
      * Get rid of the current avatar.
      *
      * @return void
      */
-    
     function deleteAvatar()
     {
         $user = common_current_user();
         $profile = $user->getProfile();
-        
+
         $avatar = $profile->getOriginalAvatar();
         if($avatar) $avatar->delete();
         $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
@@ -396,6 +409,7 @@ class AvatarsettingsAction extends AccountSettingsAction
         $avatar = $profile->getAvatar(AVATAR_MINI_SIZE);
         if($avatar) $avatar->delete();
 
+        // TRANS: Success message for deleting a user avatar.
         $this->showForm(_('Avatar deleted.'), true);
     }
 
@@ -416,7 +430,6 @@ class AvatarsettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function showScripts()
     {
         parent::showScripts();
index 93f8ec93709867794770f734db283d641a4c669f..e87353b4e13ce86096eabb79303fb7fca84aa900 100644 (file)
@@ -42,7 +42,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
  * @link     http://status.net/
  */
-
 class BlockAction extends ProfileFormAction
 {
     var $profile = null;
@@ -54,7 +53,6 @@ class BlockAction extends ProfileFormAction
      *
      * @return boolean success flag
      */
-
     function prepare($args)
     {
         if (!parent::prepare($args)) {
@@ -66,6 +64,7 @@ class BlockAction extends ProfileFormAction
         assert(!empty($cur)); // checked by parent
 
         if ($cur->hasBlocked($this->profile)) {
+            // TRANS: Client error displayed when blocking a user that has already been blocked.
             $this->clientError(_('You already blocked that user.'));
             return false;
         }
@@ -82,7 +81,6 @@ class BlockAction extends ProfileFormAction
      *
      * @return void
      */
-
     function handle($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@@ -104,6 +102,7 @@ class BlockAction extends ProfileFormAction
     }
 
     function title() {
+        // TRANS: Title for block user page.
         return _('Block user');
     }
 
@@ -133,8 +132,10 @@ class BlockAction extends ProfileFormAction
                                            'action' => common_local_url('block')));
         $this->elementStart('fieldset');
         $this->hidden('token', common_session_token());
+        // TRANS: Legend for block user form.
         $this->element('legend', _('Block user'));
         $this->element('p', null,
+                       // TRANS: Explanation of consequences when blocking a user on the block user page.
                        _('Are you sure you want to block this user? '.
                          'Afterwards, they will be unsubscribed from you, '.
                          'unable to subscribe to you in the future, and '.
@@ -184,6 +185,7 @@ class BlockAction extends ProfileFormAction
         }
 
         if (!$result) {
+            // TRANS: Server error displayed when blocking a user fails.
             $this->serverError(_('Failed to save block information.'));
             return;
         }
@@ -199,7 +201,7 @@ class BlockAction extends ProfileFormAction
      * Override for form session token checks; on our first hit we're just
      * requesting confirmation, which doesn't need a token. We need to be
      * able to take regular GET requests from email!
-     * 
+     *
      * @throws ClientException if token is bad on POST request or if we have
      *         confirmation parameters which could trigger something.
      */
@@ -216,7 +218,7 @@ class BlockAction extends ProfileFormAction
     /**
      * If we reached this form without returnto arguments, return to the
      * current user's subscription list.
-     * 
+     *
      * @return string URL
      */
     function defaultReturnTo()
index a0598db270e64767f3432fd3ff5e18cf1d4601fe..6ff572c05d9dea64a4723b059f9d756fe1c6a1eb 100644 (file)
@@ -40,7 +40,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 BlockedfromgroupAction extends GroupDesignAction
 {
     var $page = null;
@@ -70,6 +69,7 @@ class BlockedfromgroupAction extends GroupDesignAction
         }
 
         if (!$nickname) {
+            // TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
             $this->clientError(_('No nickname.'), 404);
             return false;
         }
@@ -77,6 +77,7 @@ class BlockedfromgroupAction extends GroupDesignAction
         $local = Local_group::staticGet('nickname', $nickname);
 
         if (!$local) {
+            // TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
             $this->clientError(_('No such group.'), 404);
             return false;
         }
@@ -84,6 +85,7 @@ class BlockedfromgroupAction extends GroupDesignAction
         $this->group = User_group::staticGet('id', $local->group_id);
 
         if (!$this->group) {
+            // TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
             $this->clientError(_('No such group.'), 404);
             return false;
         }
@@ -94,9 +96,13 @@ class BlockedfromgroupAction extends GroupDesignAction
     function title()
     {
         if ($this->page == 1) {
+            // TRANS: Title for first page with list of users blocked from a group.
+            // TRANS: %s is a group nickname.
             return sprintf(_('%s blocked profiles'),
                            $this->group->nickname);
         } else {
+            // TRANS: Title for any but the first page with list of users blocked from a group.
+            // TRANS: %1$s is a group nickname, %2$d is a page number.
             return sprintf(_('%1$s blocked profiles, page %2$d'),
                            $this->group->nickname,
                            $this->page);
@@ -112,6 +118,7 @@ class BlockedfromgroupAction extends GroupDesignAction
     function showPageNotice()
     {
         $this->element('p', 'instructions',
+                       // TRANS: Instructions for list of users blocked from a group.
                        _('A list of the users blocked from joining this group.'));
     }
 
@@ -205,7 +212,6 @@ class GroupBlockListItem extends ProfileListItem
  *
  * @see      UnblockForm
  */
-
 class GroupUnblockForm extends Form
 {
     /**
@@ -234,7 +240,6 @@ class GroupUnblockForm extends Form
      * @param User_group    $group   group to block user from
      * @param array         $args    return-to args
      */
-
     function __construct($out=null, $profile=null, $group=null, $args=null)
     {
         parent::__construct($out);
@@ -249,7 +254,6 @@ class GroupUnblockForm extends Form
      *
      * @return int ID of the form
      */
-
     function id()
     {
         // This should be unique for the page.
@@ -261,7 +265,6 @@ class GroupUnblockForm extends Form
      *
      * @return string class of the form
      */
-
     function formClass()
     {
         return 'form_group_unblock';
@@ -272,7 +275,6 @@ class GroupUnblockForm extends Form
      *
      * @return string URL of the action
      */
-
     function action()
     {
         return common_local_url('groupunblock');
@@ -285,6 +287,7 @@ class GroupUnblockForm extends Form
      */
     function formLegend()
     {
+        // TRANS: Form legend for unblocking a user from a group.
         $this->out->element('legend', null, _('Unblock user from group'));
     }
 
@@ -293,7 +296,6 @@ class GroupUnblockForm extends Form
      *
      * @return void
      */
-
     function formData()
     {
         $this->out->hidden('unblockto-' . $this->profile->id,
@@ -314,9 +316,14 @@ class GroupUnblockForm extends Form
      *
      * @return void
      */
-
     function formActions()
     {
-        $this->out->submit('submit', _('Unblock'), 'submit', null, _('Unblock this user'));
+        $this->out->submit('submit',
+                           // TRANS: Button text for unblocking a user from a group.
+                           _m('BUTTON','Unblock'),
+                           'submit',
+                           null,
+                           // TRANS: Tooltip for button for unblocking a user from a group.
+                           _('Unblock this user'));
     }
 }
index 041c2e89475267931108b23e520c93cba543722e..9cf4e58f89886e188dfb826ae3936e547dea1af1 100644 (file)
@@ -34,7 +34,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
 require_once INSTALLDIR . '/actions/newnotice.php';
 
 /**
- * Action for posting a notice 
+ * Action for posting a notice
  *
  * @category Bookmarklet
  * @package  StatusNet
@@ -42,12 +42,12 @@ require_once INSTALLDIR . '/actions/newnotice.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 BookmarkletAction extends NewnoticeAction
 {
     function showTitle()
     {
         // TRANS: Title for mini-posting window loaded from bookmarklet.
+        // TRANS: %s is the StatusNet site name.
         $this->element('title', null, sprintf(_('Post to %s'), common_config('site', 'name')));
     }
 
@@ -73,4 +73,3 @@ class BookmarkletAction extends NewnoticeAction
     {
     }
 }
-
index 8bf8c8c4d4d7a75de8c27ba5029421d88b3c0aac..5617c5339203610d56566f68c48f3c16274b8960 100644 (file)
@@ -44,7 +44,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 ConfirmaddressAction extends Action
 {
     /** type of confirmation. */
@@ -61,7 +60,6 @@ class ConfirmaddressAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -72,27 +70,30 @@ class ConfirmaddressAction extends Action
         }
         $code = $this->trimmed('code');
         if (!$code) {
+            // TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
             $this->clientError(_('No confirmation code.'));
             return;
         }
         $confirm = Confirm_address::staticGet('code', $code);
         if (!$confirm) {
+            // TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
             $this->clientError(_('Confirmation code not found.'));
             return;
         }
         $cur = common_current_user();
         if ($cur->id != $confirm->user_id) {
+            // TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
             $this->clientError(_('That confirmation code is not for you!'));
             return;
         }
         $type = $confirm->address_type;
         if (!in_array($type, array('email', 'jabber', 'sms'))) {
-            // TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
+            // TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
             $this->serverError(sprintf(_('Unrecognized address type %s.'), $type));
             return;
         }
         if ($cur->$type == $confirm->address) {
-            // TRANS: Client error for an already confirmed email/jabbel/sms address.
+            // TRANS: Client error for an already confirmed email/jabber/sms address.
             $this->clientError(_('That address has already been confirmed.'));
             return;
         }
@@ -113,6 +114,7 @@ class ConfirmaddressAction extends Action
 
         if (!$result) {
             common_log_db_error($cur, 'UPDATE', __FILE__);
+            // TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
             $this->serverError(_('Couldn\'t update user.'));
             return;
         }
@@ -125,7 +127,9 @@ class ConfirmaddressAction extends Action
 
         if (!$result) {
             common_log_db_error($confirm, 'DELETE', __FILE__);
-            $this->serverError(_('Couldn\'t delete email confirmation.'));
+            // TRANS: Server error displayed when an address confirmation code deletion from the
+            // TRANS: database fails in the contact address confirmation action.
+            $this->serverError(_('Could not delete address confirmation.'));
             return;
         }
 
@@ -140,9 +144,9 @@ class ConfirmaddressAction extends Action
      *
      * @return string title
      */
-
     function title()
     {
+        // TRANS: Title for the contact address confirmation action.
         return _('Confirm address');
     }
 
@@ -151,13 +155,14 @@ class ConfirmaddressAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         $cur  = common_current_user();
         $type = $this->type;
 
         $this->element('p', null,
+                       // TRANS: Success message for the contact address confirmation action.
+                       // TRANS: %s can be 'email', 'jabber', or 'sms'.
                        sprintf(_('The address "%s" has been '.
                                  'confirmed for your account.'),
                                $cur->$type));
index 900a724ef302ac2c14c3be8f9003dc8e0e3f4dd1..8d11df37bc52ac637cbf91fc46b06efa0ec5f6c3 100644 (file)
@@ -45,7 +45,6 @@ require_once INSTALLDIR.'/lib/noticelist.php';
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
  * @link     http://status.net/
  */
-
 class ConversationAction extends Action
 {
     var $id   = null;
@@ -58,7 +57,6 @@ class ConversationAction extends Action
      *
      * @return boolean false if id not passed in
      */
-
     function prepare($args)
     {
         parent::prepare($args);
@@ -81,7 +79,6 @@ class ConversationAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -93,10 +90,10 @@ class ConversationAction extends Action
      *
      * @return string page title
      */
-
     function title()
     {
-        return _("Conversation");
+        // TRANS: Title for page with a conversion (multiple notices in context).
+        return _('Conversation');
     }
 
     /**
@@ -107,7 +104,6 @@ class ConversationAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         $notices = Notice::conversationStream($this->id, null, null);
@@ -134,7 +130,6 @@ class ConversationAction extends Action
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
  * @link     http://status.net/
  */
-
 class ConversationTree extends NoticeList
 {
     var $tree  = null;
@@ -145,12 +140,12 @@ class ConversationTree extends NoticeList
      *
      * @return void
      */
-
     function show()
     {
         $cnt = $this->_buildTree();
 
         $this->out->elementStart('div', array('id' =>'notices_primary'));
+        // TRANS: Header on conversation page. Hidden by default (h2).
         $this->out->element('h2', null, _('Notices'));
         $this->out->elementStart('ol', array('class' => 'notices xoxo'));
 
@@ -200,7 +195,6 @@ class ConversationTree extends NoticeList
      *
      * @return void
      */
-
     function showNoticePlus($id)
     {
         $notice = $this->table[$id];
@@ -237,7 +231,6 @@ class ConversationTree extends NoticeList
      *
      * @return NoticeListItem a list item to show
      */
-
     function newListItem($notice)
     {
         return new ConversationTreeItem($notice, $this->out);
@@ -255,7 +248,6 @@ class ConversationTree extends NoticeList
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
  * @link     http://status.net/
  */
-
 class ConversationTreeItem extends NoticeListItem
 {
     /**
@@ -266,7 +258,6 @@ class ConversationTreeItem extends NoticeListItem
      *
      * @return void
      */
-
     function showStart()
     {
         return;
@@ -280,7 +271,6 @@ class ConversationTreeItem extends NoticeListItem
      *
      * @return void
      */
-
     function showEnd()
     {
         return;
@@ -293,7 +283,6 @@ class ConversationTreeItem extends NoticeListItem
      *
      * @return void
      */
-
     function showContext()
     {
         return;
index 806de0be6eccbee182f8dfe45184bb7f68f7c179..272a91762c7cbbeb6ee17af8ff863200656747c6 100644 (file)
@@ -40,7 +40,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
  * @link     http://status.net/
  */
-
 class DeleteapplicationAction extends Action
 {
     var $app = null;
@@ -52,7 +51,6 @@ class DeleteapplicationAction extends Action
      *
      * @return boolean success flag
      */
-
     function prepare($args)
     {
         if (!parent::prepare($args)) {
@@ -60,6 +58,7 @@ class DeleteapplicationAction extends Action
         }
 
         if (!common_logged_in()) {
+            // TRANS: Client error displayed trying to delete an application while not logged in.
             $this->clientError(_('You must be logged in to delete an application.'));
             return false;
         }
@@ -68,6 +67,7 @@ class DeleteapplicationAction extends Action
         $this->app = Oauth_application::staticGet('id', $id);
 
         if (empty($this->app)) {
+            // TRANS: Client error displayed trying to delete an application that does not exist.
             $this->clientError(_('Application not found.'));
             return false;
         }
@@ -75,6 +75,7 @@ class DeleteapplicationAction extends Action
         $cur = common_current_user();
 
         if ($cur->id != $this->app->owner) {
+            // TRANS: Client error displayed trying to delete an application the current user does not own.
             $this->clientError(_('You are not the owner of this application.'), 401);
             return false;
         }
@@ -91,7 +92,6 @@ class DeleteapplicationAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@@ -120,6 +120,7 @@ class DeleteapplicationAction extends Action
     }
 
     function title() {
+        // TRANS: Title for delete application page.
         return _('Delete application');
     }
 
@@ -144,8 +145,10 @@ class DeleteapplicationAction extends Action
                                                                        array('id' => $this->app->id))));
         $this->elementStart('fieldset');
         $this->hidden('token', common_session_token());
+        // TRANS: Fieldset legend on delete application page.
         $this->element('legend', _('Delete application'));
         $this->element('p', null,
+                       // TRANS: Confirmation text on delete application page.
                        _('Are you sure you want to delete this application? '.
                          'This will clear all data about the application from the '.
                          'database, including all existing user connections.'));
@@ -171,10 +174,8 @@ class DeleteapplicationAction extends Action
      *
      * @return void
      */
-
     function handlePost()
     {
         $this->app->delete();
     }
 }
-
index 62fff00c4821600d5bde2759078a5e9867faab15..4e9b9851f12a6abc34ebb2180aca2502b8542fb9 100644 (file)
@@ -172,7 +172,7 @@ class DeletegroupAction extends RedirectingAction
     }
 
     function title() {
-        // TRANS: Title.
+        // TRANS: Title of delete group page.
         return _('Delete group');
     }
 
@@ -201,8 +201,8 @@ class DeletegroupAction extends RedirectingAction
         // TRANS: Form legend for deleting a group.
         $this->element('legend', _('Delete group'));
         if (Event::handle('StartDeleteGroupForm', array($this, $this->group))) {
-            // TRANS: Warning in form for deleleting a group.
             $this->element('p', null,
+                           // TRANS: Warning in form for deleleting a group.
                            _('Are you sure you want to delete this group? '.
                              'This will clear all data about the group from the '.
                              'database, without a backup. ' .
index 2879faa5df70003521961f692049abe8bbc9619b..a7ac28e19c202ce8d97b7ae1985484ad61a12e3a 100644 (file)
@@ -32,6 +32,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
+// @todo FIXME: documentation needed.
 class DeletenoticeAction extends Action
 {
     var $error        = null;
@@ -47,6 +48,7 @@ class DeletenoticeAction extends Action
         $this->user   = common_current_user();
 
         if (!$this->user) {
+            // TRANS: Error message displayed trying to delete a notice while not logged in.
             common_user_error(_('Not logged in.'));
             exit;
         }
@@ -55,6 +57,7 @@ class DeletenoticeAction extends Action
         $this->notice = Notice::staticGet($notice_id);
 
         if (!$this->notice) {
+            // TRANS: Error message displayed trying to delete a non-existing notice.
             common_user_error(_('No such notice.'));
             exit;
         }
@@ -71,6 +74,7 @@ class DeletenoticeAction extends Action
 
         if ($this->notice->profile_id != $this->user_profile->id &&
                    !$this->user->hasRight(Right::DELETEOTHERSNOTICE)) {
+            // TRANS: Error message displayed trying to delete a notice that was not made by the current user.
             common_user_error(_('Can\'t delete this notice.'));
             exit;
         }
@@ -90,7 +94,6 @@ class DeletenoticeAction extends Action
      *
      * @return void
      */
-
     function showPageNotice()
     {
         $instr  = $this->getInstructions();
@@ -103,12 +106,14 @@ class DeletenoticeAction extends Action
 
     function getInstructions()
     {
+        // TRANS: Instructions for deleting a notice.
         return _('You are about to permanently delete a notice. ' .
                  'Once this is done, it cannot be undone.');
     }
 
     function title()
     {
+        // TRANS: Page title when deleting a notice.
         return _('Delete notice');
     }
 
@@ -121,7 +126,6 @@ class DeletenoticeAction extends Action
      *
      * @return void
      */
-
     function showForm($error = null)
     {
         $this->error = $error;
@@ -133,7 +137,6 @@ class DeletenoticeAction extends Action
      *
      * @return void
      */
-
     function showContent()
     {
         $this->elementStart('form', array('id' => 'form_notice_delete',
@@ -141,9 +144,11 @@ class DeletenoticeAction extends Action
                                           'method' => 'post',
                                           'action' => common_local_url('deletenotice')));
         $this->elementStart('fieldset');
+        // TRANS: Fieldset legend for the delete notice form.
         $this->element('legend', null, _('Delete notice'));
         $this->hidden('token', common_session_token());
         $this->hidden('notice', $this->trimmed('notice'));
+        // TRANS: Message for the delete notice form.
         $this->element('p', null, _('Are you sure you want to delete this notice?'));
         $this->submit('form_action-no',
                       // TRANS: Button label on the delete notice form.
index d1c7a5c3d58f0e632b860d19d32820e26291b1d3..760b1d284e19eea9d4f044ed430952b59d88654f 100644 (file)
@@ -185,7 +185,7 @@ class EditApplicationAction extends OwnerDesignAction
             return;
         } elseif (mb_strlen($name) > 255) {
             // TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-            $this->showForm(_('Name is too long (max 255 characters).'));
+            $this->showForm(_('Name is too long (maximum 255 characters).'));
             return;
         } else if ($this->nameExists($name)) {
             // TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
index eaadbabe450f5f23bdb0bfef8b60d67567a80e77..4d3af34c7b9e4c225fa50b8e6f70a6e143346f96 100644 (file)
@@ -45,14 +45,13 @@ 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 EditgroupAction extends GroupDesignAction
 {
-
     var $msg;
 
     function title()
     {
+        // TRANS: Title for form to edit a group. %s is a group nickname.
         return sprintf(_('Edit %s group'), $this->group->nickname);
     }
 
@@ -65,6 +64,7 @@ class EditgroupAction extends GroupDesignAction
         parent::prepare($args);
 
         if (!common_logged_in()) {
+            // TRANS: Client error displayed trying to edit a group while not logged in.
             $this->clientError(_('You must be logged in to create a group.'));
             return false;
         }
@@ -81,6 +81,7 @@ class EditgroupAction extends GroupDesignAction
         }
 
         if (!$nickname) {
+            // TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
             $this->clientError(_('No nickname.'), 404);
             return false;
         }
@@ -97,6 +98,7 @@ class EditgroupAction extends GroupDesignAction
         }
 
         if (!$this->group) {
+            // TRANS: Client error displayed trying to edit a non-existing group.
             $this->clientError(_('No such group.'), 404);
             return false;
         }
@@ -104,6 +106,7 @@ class EditgroupAction extends GroupDesignAction
         $cur = common_current_user();
 
         if (!$cur->isAdmin($this->group)) {
+            // TRANS: Client error displayed trying to edit a group while not being a group admin.
             $this->clientError(_('You must be an admin to edit the group.'), 403);
             return false;
         }
@@ -120,7 +123,6 @@ class EditgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -155,6 +157,7 @@ class EditgroupAction extends GroupDesignAction
             $this->element('p', 'error', $this->msg);
         } else {
             $this->element('p', 'instructions',
+                           // TRANS: Form instructions for group edit form.
                            _('Use this form to edit the group.'));
         }
     }
@@ -169,6 +172,7 @@ class EditgroupAction extends GroupDesignAction
     {
         $cur = common_current_user();
         if (!$cur->isAdmin($this->group)) {
+            // TRANS: Client error displayed trying to edit a group while not being a group admin.
             $this->clientError(_('You must be an admin to edit the group.'), 403);
             return;
         }
@@ -183,28 +187,39 @@ class EditgroupAction extends GroupDesignAction
         if (!Validate::string($nickname, array('min_length' => 1,
                                                'max_length' => 64,
                                                'format' => NICKNAME_FMT))) {
+            // TRANS: Group edit form validation error.
             $this->showForm(_('Nickname must have only lowercase letters '.
                               'and numbers and no spaces.'));
             return;
         } else if ($this->nicknameExists($nickname)) {
+            // TRANS: Group edit form validation error.
             $this->showForm(_('Nickname already in use. Try another one.'));
             return;
         } else if (!User_group::allowedNickname($nickname)) {
+            // TRANS: Group edit form validation error.
             $this->showForm(_('Not a valid nickname.'));
             return;
         } else if (!is_null($homepage) && (strlen($homepage) > 0) &&
                    !Validate::uri($homepage,
                                   array('allowed_schemes' =>
                                         array('http', 'https')))) {
+            // TRANS: Group edit form validation error.
             $this->showForm(_('Homepage is not a valid URL.'));
             return;
         } else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
+            // TRANS: Group edit form validation error.
             $this->showForm(_('Full name is too long (maximum 255 characters).'));
             return;
         } else if (User_group::descriptionTooLong($description)) {
-            $this->showForm(sprintf(_('Description is too long (max %d chars).'), User_group::maxDescription()));
+            $this->showForm(sprintf(
+                // TRANS: Group edit form validation error.
+                _m('Description is too long (maximum %d character).',
+                  'Description is too long (maximum %d characters).',
+                  User_group::maxDescription()),
+                                    User_group::maxDescription()));
             return;
         } else if (!is_null($location) && mb_strlen($location) > 255) {
+            // TRANS: Group edit form validation error.
             $this->showForm(_('Location is too long (maximum 255 characters).'));
             return;
         }
@@ -216,7 +231,11 @@ class EditgroupAction extends GroupDesignAction
         }
 
         if (count($aliases) > common_config('group', 'maxaliases')) {
-            $this->showForm(sprintf(_('Too many aliases! Maximum %d.'),
+            // TRANS: Group edit form validation error.
+            // TRANS: %d is the maximum number of allowed aliases.
+            $this->showForm(sprintf(_m('Too many aliases! Maximum %d allowed.',
+                                       'Too many aliases! Maximum %d allowed.',
+                                       common_config('group', 'maxaliases')),
                                     common_config('group', 'maxaliases')));
             return;
         }
@@ -225,16 +244,19 @@ class EditgroupAction extends GroupDesignAction
             if (!Validate::string($alias, array('min_length' => 1,
                                                 'max_length' => 64,
                                                 'format' => NICKNAME_FMT))) {
+                // TRANS: Group edit form validation error.
                 $this->showForm(sprintf(_('Invalid alias: "%s"'), $alias));
                 return;
             }
             if ($this->nicknameExists($alias)) {
+                // TRANS: Group edit form validation error.
                 $this->showForm(sprintf(_('Alias "%s" already in use. Try another one.'),
                                         $alias));
                 return;
             }
             // XXX assumes alphanum nicknames
             if (strcmp($alias, $nickname) == 0) {
+                // TRANS: Group edit form validation error.
                 $this->showForm(_('Alias can\'t be the same as nickname.'));
                 return;
             }
@@ -255,12 +277,14 @@ class EditgroupAction extends GroupDesignAction
 
         if (!$result) {
             common_log_db_error($this->group, 'UPDATE', __FILE__);
+            // TRANS: Server error displayed when editing a group fails.
             $this->serverError(_('Could not update group.'));
         }
 
         $result = $this->group->setAliases($aliases);
 
         if (!$result) {
+            // TRANS: Server error displayed when group aliases could not be added.
             $this->serverError(_('Could not create aliases.'));
         }
 
@@ -277,6 +301,7 @@ class EditgroupAction extends GroupDesignAction
                                              array('nickname' => $nickname)),
                             303);
         } else {
+            // TRANS: Group edit form success message.
             $this->showForm(_('Options saved.'));
         }
     }
@@ -300,4 +325,3 @@ class EditgroupAction extends GroupDesignAction
         return false;
     }
 }
-
index 9c250fc8a93a97a77d0fc7e3e3b22da18d1e8f60..5a816e5c0ab17fd4e3107baa7a3b77c0bd136fc4 100644 (file)
@@ -178,51 +178,55 @@ class EmailsettingsAction extends AccountSettingsAction
         $this->element('legend', null, _('Email preferences'));
 
         $this->elementStart('ul', 'form_data');
-        $this->elementStart('li');
-        $this->checkbox('emailnotifysub',
-                        // TRANS: Checkbox label in e-mail preferences form.
-                        _('Send me notices of new subscriptions through email.'),
-                        $user->emailnotifysub);
-        $this->elementEnd('li');
-        $this->elementStart('li');
-        $this->checkbox('emailnotifyfav',
-                        // TRANS: Checkbox label in e-mail preferences form.
-                        _('Send me email when someone '.
-                          'adds my notice as a favorite.'),
-                        $user->emailnotifyfav);
-        $this->elementEnd('li');
-        $this->elementStart('li');
-        $this->checkbox('emailnotifymsg',
-                        // TRANS: Checkbox label in e-mail preferences form.
-                        _('Send me email when someone sends me a private message.'),
-                        $user->emailnotifymsg);
-        $this->elementEnd('li');
-        $this->elementStart('li');
-        $this->checkbox('emailnotifyattn',
-                        // TRANS: Checkbox label in e-mail preferences form.
-                        _('Send me email when someone sends me an "@-reply".'),
-                        $user->emailnotifyattn);
-        $this->elementEnd('li');
-        $this->elementStart('li');
-        $this->checkbox('emailnotifynudge',
-                        // TRANS: Checkbox label in e-mail preferences form.
-                        _('Allow friends to nudge me and send me an email.'),
-                        $user->emailnotifynudge);
-        $this->elementEnd('li');
-        if (common_config('emailpost', 'enabled')) {
-            $this->elementStart('li');
-            $this->checkbox('emailpost',
-                            // TRANS: Checkbox label in e-mail preferences form.
-                            _('I want to post notices by email.'),
-                            $user->emailpost);
-            $this->elementEnd('li');
-        }
-        $this->elementStart('li');
-        $this->checkbox('emailmicroid',
-                        // TRANS: Checkbox label in e-mail preferences form.
-                        _('Publish a MicroID for my email address.'),
-                        $user->emailmicroid);
-        $this->elementEnd('li');
+       
+        if (Event::handle('StartEmailFormData', array($this))) {
+           $this->elementStart('li');
+           $this->checkbox('emailnotifysub',
+                           // TRANS: Checkbox label in e-mail preferences form.
+                           _('Send me notices of new subscriptions through email.'),
+                           $user->emailnotifysub);
+           $this->elementEnd('li');
+           $this->elementStart('li');
+           $this->checkbox('emailnotifyfav',
+                           // TRANS: Checkbox label in e-mail preferences form.
+                           _('Send me email when someone '.
+                             'adds my notice as a favorite.'),
+                           $user->emailnotifyfav);
+           $this->elementEnd('li');
+           $this->elementStart('li');
+           $this->checkbox('emailnotifymsg',
+                           // TRANS: Checkbox label in e-mail preferences form.
+                           _('Send me email when someone sends me a private message.'),
+                           $user->emailnotifymsg);
+           $this->elementEnd('li');
+           $this->elementStart('li');
+           $this->checkbox('emailnotifyattn',
+                           // TRANS: Checkbox label in e-mail preferences form.
+                           _('Send me email when someone sends me an "@-reply".'),
+                           $user->emailnotifyattn);
+           $this->elementEnd('li');
+           $this->elementStart('li');
+           $this->checkbox('emailnotifynudge',
+                           // TRANS: Checkbox label in e-mail preferences form.
+                           _('Allow friends to nudge me and send me an email.'),
+                           $user->emailnotifynudge);
+           $this->elementEnd('li');
+           if (common_config('emailpost', 'enabled')) {
+               $this->elementStart('li');
+               $this->checkbox('emailpost',
+                               // TRANS: Checkbox label in e-mail preferences form.
+                               _('I want to post notices by email.'),
+                               $user->emailpost);
+               $this->elementEnd('li');
+           }
+           $this->elementStart('li');
+           $this->checkbox('emailmicroid',
+                           // TRANS: Checkbox label in e-mail preferences form.
+                           _('Publish a MicroID for my email address.'),
+                           $user->emailmicroid);
+           $this->elementEnd('li');
+           Event::handle('EndEmailFormData', array($this));
+       }
         $this->elementEnd('ul');
         // TRANS: Button label to save e-mail preferences.
         $this->submit('save', _m('BUTTON','Save'));
@@ -299,43 +303,48 @@ class EmailsettingsAction extends AccountSettingsAction
 
     function savePreferences()
     {
-        $emailnotifysub   = $this->boolean('emailnotifysub');
-        $emailnotifyfav   = $this->boolean('emailnotifyfav');
-        $emailnotifymsg   = $this->boolean('emailnotifymsg');
-        $emailnotifynudge = $this->boolean('emailnotifynudge');
-        $emailnotifyattn  = $this->boolean('emailnotifyattn');
-        $emailmicroid     = $this->boolean('emailmicroid');
-        $emailpost        = $this->boolean('emailpost');
-
-        $user = common_current_user();
-
-        assert(!is_null($user)); // should already be checked
-
-        $user->query('BEGIN');
-
-        $original = clone($user);
-
-        $user->emailnotifysub   = $emailnotifysub;
-        $user->emailnotifyfav   = $emailnotifyfav;
-        $user->emailnotifymsg   = $emailnotifymsg;
-        $user->emailnotifynudge = $emailnotifynudge;
-        $user->emailnotifyattn  = $emailnotifyattn;
-        $user->emailmicroid     = $emailmicroid;
-        $user->emailpost        = $emailpost;
-
-        $result = $user->update($original);
-
-        if ($result === false) {
-            common_log_db_error($user, 'UPDATE', __FILE__);
-            // TRANS: Server error thrown on database error updating e-mail preferences.
-            $this->serverError(_('Couldn\'t update user.'));
-            return;
-        }
-
-        $user->query('COMMIT');
-
-        // TRANS: Confirmation message for successful e-mail preferences save.
-        $this->showForm(_('Email preferences saved.'), true);
+       $user = common_current_user();
+       
+       if (Event::handle('StartEmailSaveForm', array($this, &$user))) {
+           
+           $emailnotifysub   = $this->boolean('emailnotifysub');
+           $emailnotifyfav   = $this->boolean('emailnotifyfav');
+           $emailnotifymsg   = $this->boolean('emailnotifymsg');
+           $emailnotifynudge = $this->boolean('emailnotifynudge');
+           $emailnotifyattn  = $this->boolean('emailnotifyattn');
+           $emailmicroid     = $this->boolean('emailmicroid');
+           $emailpost        = $this->boolean('emailpost');
+           
+           assert(!is_null($user)); // should already be checked
+           
+           $user->query('BEGIN');
+           
+           $original = clone($user);
+           
+           $user->emailnotifysub   = $emailnotifysub;
+           $user->emailnotifyfav   = $emailnotifyfav;
+           $user->emailnotifymsg   = $emailnotifymsg;
+           $user->emailnotifynudge = $emailnotifynudge;
+           $user->emailnotifyattn  = $emailnotifyattn;
+           $user->emailmicroid     = $emailmicroid;
+           $user->emailpost        = $emailpost;
+           
+           $result = $user->update($original);
+           
+           if ($result === false) {
+               common_log_db_error($user, 'UPDATE', __FILE__);
+               // TRANS: Server error thrown on database error updating e-mail preferences.
+               $this->serverError(_('Couldn\'t update user.'));
+               return;
+           }
+           
+           $user->query('COMMIT');
+           
+           Event::handle('EndEmailSaveForm', array($this));
+           
+           // TRANS: Confirmation message for successful e-mail preferences save.
+           $this->showForm(_('Email preferences saved.'), true);
+       }
     }
 
     /**
index dd6b15c26c20a61a4a214c0c2fa7a9ee4ad2f75d..ef2380725e041c476264a2389a6c71e6d002cdf9 100644 (file)
@@ -32,7 +32,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
 }
 
 /**
- * Unlock a user from a group
+ * Unblock a user from a group
  *
  * @category Action
  * @package  StatusNet
@@ -40,7 +40,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
  * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
  * @link     http://status.net/
  */
-
 class GroupunblockAction extends Action
 {
     var $profile = null;
@@ -53,11 +52,11 @@ class GroupunblockAction extends Action
      *
      * @return boolean success flag
      */
-
     function prepare($args)
     {
         parent::prepare($args);
         if (!common_logged_in()) {
+            // TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
             $this->clientError(_('Not logged in.'));
             return false;
         }
@@ -68,11 +67,13 @@ class GroupunblockAction extends Action
         }
         $id = $this->trimmed('unblockto');
         if (empty($id)) {
+            // TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
             $this->clientError(_('No profile specified.'));
             return false;
         }
         $this->profile = Profile::staticGet('id', $id);
         if (empty($this->profile)) {
+            // TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
             $this->clientError(_('No profile with that ID.'));
             return false;
         }
@@ -83,15 +84,18 @@ class GroupunblockAction extends Action
         }
         $this->group = User_group::staticGet('id', $group_id);
         if (empty($this->group)) {
+            // TRANS: Client error displayed when trying to unblock a user from a non-existing group.
             $this->clientError(_('No such group.'));
             return false;
         }
         $user = common_current_user();
         if (!$user->isAdmin($this->group)) {
+            // TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
             $this->clientError(_('Only an admin can unblock group members.'), 401);
             return false;
         }
         if (!Group_block::isBlocked($this->group, $this->profile)) {
+            // TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
             $this->clientError(_('User is not blocked from group.'));
             return false;
         }
@@ -105,7 +109,6 @@ class GroupunblockAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -119,12 +122,12 @@ class GroupunblockAction extends Action
      *
      * @return void
      */
-
     function unblockProfile()
     {
         $result = Group_block::unblockProfile($this->group, $this->profile);
 
         if (!$result) {
+            // TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
             $this->serverError(_('Error removing the block.'));
             return;
         }
@@ -146,4 +149,3 @@ class GroupunblockAction extends Action
         }
     }
 }
-
index 2779437e0c3ccc1fb94f6eff8cc3efc4425d5e5c..e9adb3b7f93255cca5aa0234566857416a1b42c0 100644 (file)
@@ -142,7 +142,7 @@ class InviteAction extends CurrentUserDesignAction
             $this->elementStart('ul');
             foreach ($this->already as $other) {
                 // TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
-                $this->element('li', null, sprintf(_('%1$s (%2$s)'), $other->nickname, $other->email));
+                $this->element('li', null, sprintf(_m('INVITE','%1$s (%2$s)'), $other->nickname, $other->email));
             }
             $this->elementEnd('ul');
         }
@@ -156,7 +156,7 @@ class InviteAction extends CurrentUserDesignAction
             $this->elementStart('ul');
             foreach ($this->subbed as $other) {
                 // TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-                $this->element('li', null, sprintf(_('%1$s (%2$s)'), $other->nickname, $other->email));
+                $this->element('li', null, sprintf(_m('INVITE','%1$s (%2$s)'), $other->nickname, $other->email));
             }
             $this->elementEnd('ul');
         }
index 9165ca19d9595f8cda5d93bffb3badedf194759a..95ac48cc8f3d489e3204d9087943182e38e815c0 100644 (file)
@@ -153,7 +153,7 @@ class LicenseadminpanelAction extends AdminPanelAction
         // Make sure the license title is not too long
         if (mb_strlen($values['license']['type']) > 255) {
             $this->clientError(
-                _("Invalid license title. Max length is 255 characters.")
+                _('Invalid license title. Maximum length is 255 characters.')
             );
         }
 
index 033c0852d9921f7708b8ce301ad73cb5680274bf..ae17545589324197e14080c1dd7fa290bd74edee 100644 (file)
@@ -166,7 +166,7 @@ class NewApplicationAction extends OwnerDesignAction
             $this->showForm(_('Name already in use. Try another one.'));
             return;
         } elseif (mb_strlen($name) > 255) {
-            $this->showForm(_('Name is too long (maximum 255 chars).'));
+            $this->showForm(_('Name is too long (maximum 255 characters).'));
             return;
         } elseif (empty($description)) {
             $this->showForm(_('Description is required.'));
@@ -196,7 +196,7 @@ class NewApplicationAction extends OwnerDesignAction
             $this->showForm(_('Organization is required.'));
             return;
         } elseif (mb_strlen($organization) > 255) {
-            $this->showForm(_('Organization is too long (maximum 255 chars).'));
+            $this->showForm(_('Organization is too long (maximum 255 characters).'));
             return;
         } elseif (empty($homepage)) {
             $this->showForm(_('Organization homepage is required.'));
index 05520223c0f7c6fb5b64e77545547503f8ffeaae..e0e7978c32ebb430d07972e96b00cfa204e30128 100644 (file)
@@ -43,25 +43,25 @@ 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 NewgroupAction extends Action
 {
     var $msg;
 
     function title()
     {
+        // TRANS: Title for form to create a group.
         return _('New group');
     }
 
     /**
      * Prepare to run
      */
-
     function prepare($args)
     {
         parent::prepare($args);
 
         if (!common_logged_in()) {
+            // TRANS: Client error displayed trying to create a group while not logged in.
             $this->clientError(_('You must be logged in to create a group.'));
             return false;
         }
@@ -78,7 +78,6 @@ class NewgroupAction extends Action
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
@@ -107,6 +106,7 @@ class NewgroupAction extends Action
             $this->element('p', 'error', $this->msg);
         } else {
             $this->element('p', 'instructions',
+                           // TRANS: Form instructions for group create form.
                            _('Use this form to create a new group.'));
         }
     }
@@ -123,26 +123,31 @@ class NewgroupAction extends Action
         if (!Validate::string($nickname, array('min_length' => 1,
                                                'max_length' => 64,
                                                'format' => NICKNAME_FMT))) {
+            // TRANS: Group create form validation error.
             $this->showForm(_('Nickname must have only lowercase letters '.
                               'and numbers and no spaces.'));
             return;
         } else if ($this->nicknameExists($nickname)) {
+            // TRANS: Group create form validation error.
             $this->showForm(_('Nickname already in use. Try another one.'));
             return;
         } else if (!User_group::allowedNickname($nickname)) {
+            // TRANS: Group create form validation error.
             $this->showForm(_('Not a valid nickname.'));
             return;
         } else if (!is_null($homepage) && (strlen($homepage) > 0) &&
                    !Validate::uri($homepage,
                                   array('allowed_schemes' =>
                                         array('http', 'https')))) {
+            // TRANS: Group create form validation error.
             $this->showForm(_('Homepage is not a valid URL.'));
             return;
         } else if (!is_null($fullname) && mb_strlen($fullname) > 255) {
+            // TRANS: Group create form validation error.
             $this->showForm(_('Full name is too long (maximum 255 characters).'));
             return;
         } else if (User_group::descriptionTooLong($description)) {
-            // TRANS: Form validation error creating a new group because the description is too long.
+            // TRANS: Group create form validation error.
             // TRANS: %d is the maximum number of allowed characters.
             $this->showForm(sprintf(_m('Description is too long (maximum %d character).',
                                        'Description is too long (maximum %d characters).',
@@ -150,6 +155,7 @@ class NewgroupAction extends Action
                                     User_group::maxDescription()));
             return;
         } else if (!is_null($location) && mb_strlen($location) > 255) {
+            // TRANS: Group create form validation error.
             $this->showForm(_('Location is too long (maximum 255 characters).'));
             return;
         }
@@ -161,7 +167,7 @@ class NewgroupAction extends Action
         }
 
         if (count($aliases) > common_config('group', 'maxaliases')) {
-            // TRANS: Client error shown when providing too many aliases during group creation.
+            // TRANS: Group create form validation error.
             // TRANS: %d is the maximum number of allowed aliases.
             $this->showForm(sprintf(_m('Too many aliases! Maximum %d allowed.',
                                        'Too many aliases! Maximum %d allowed.',
@@ -174,16 +180,19 @@ class NewgroupAction extends Action
             if (!Validate::string($alias, array('min_length' => 1,
                                                 'max_length' => 64,
                                                 'format' => NICKNAME_FMT))) {
+                // TRANS: Group create form validation error.
                 $this->showForm(sprintf(_('Invalid alias: "%s"'), $alias));
                 return;
             }
             if ($this->nicknameExists($alias)) {
+                // TRANS: Group create form validation error.
                 $this->showForm(sprintf(_('Alias "%s" already in use. Try another one.'),
                                         $alias));
                 return;
             }
             // XXX assumes alphanum nicknames
             if (strcmp($alias, $nickname) == 0) {
+                // TRANS: Group create form validation error.
                 $this->showForm(_('Alias can\'t be the same as nickname.'));
                 return;
             }
@@ -227,4 +236,3 @@ class NewgroupAction extends Action
         return false;
     }
 }
-
index 57cd847c6e3e203f7ab4c0246003183291121f2a..0d4dcfccd5b9a9f4a13ae0f3434041b7b8a6fff0 100644 (file)
@@ -156,8 +156,11 @@ class NewnoticeAction extends Action
 
         $content_shortened = common_shorten_links($content);
         if (Notice::contentTooLong($content_shortened)) {
-            $this->clientError(sprintf(_('That\'s too long. '.
-                                         'Max notice size is %d chars.'),
+            // TRANS: Client error displayed when the parameter "status" is missing.
+            // TRANS: %d is the maximum number of character for a notice.
+            $this->clientError(sprintf(_m('That\'s too long. Maximum notice size is %d character.',
+                                          'That\'s too long. Maximum notice size is %d characters.',
+                                          Notice::maxContent()),
                                        Notice::maxContent()));
         }
 
@@ -178,12 +181,10 @@ class NewnoticeAction extends Action
 
             if (Notice::contentTooLong($content_shortened)) {
                 $upload->delete();
-                $this->clientError(
-                    sprintf(
-                        _('Max notice size is %d chars, including attachment URL.'),
-                          Notice::maxContent()
-                    )
-                );
+                $this->clientError(sprintf(_m('Maximum notice size is %d character, including attachment URL.',
+                                              'Maximum notice size is %d characters, including attachment URL.',
+                                              Notice::maxContent()),
+                                           Notice::maxContent()));
             }
         }
 
index e25e4cb2592407857d8b1bf69318f64eb161b189..09d68a446e58945fb425242e5d925b0eb3f4094c 100644 (file)
@@ -79,11 +79,7 @@ class OembedAction extends Action
                     if (empty($profile)) {
                         $this->serverError(_('Notice has no profile.'), 500);
                     }
-                    if (!empty($profile->fullname)) {
-                        $authorname = $profile->fullname . ' (' . $profile->nickname . ')';
-                    } else {
-                        $authorname = $profile->nickname;
-                    }
+                    $authorname = $profile->getFancyName();
                     $oembed['title'] = sprintf(_('%1$s\'s status on %2$s'),
                         $authorname,
                         common_exact_date($notice->created));
@@ -112,10 +108,23 @@ class OembedAction extends Action
                         $oembed['url']=$file_oembed->url;
                     }else if(substr($attachment->mimetype,0,strlen('image/'))=='image/'){
                         $oembed['type']='photo';
-                        //TODO set width and height
-                        //$oembed['width']=
-                        //$oembed['height']=
+                        if ($attachment->filename) {
+                            $filepath = File::path($attachment->filename);
+                            $gis = @getimagesize($filepath);
+                            if ($gis) {
+                                $oembed['width'] = $gis[0];
+                                $oembed['height'] = $gis[1];
+                            } else {
+                                // TODO Either throw an error or find a fallback?
+                            }
+                        }
                         $oembed['url']=$attachment->url;
+                        $thumb = $attachment->getThumbnail();
+                        if ($thumb) {
+                            $oembed['thumbnail_url'] = $thumb->url;
+                            $oembed['thumbnail_width'] = $thumb->width;
+                            $oembed['thumbnail_height'] = $thumb->height;
+                        }
                     }else{
                         $oembed['type']='link';
                         $oembed['url']=common_local_url('attachment',
index 10e9873b390b16f6cbc7e0d849a0c6d770a9814a..13460a4bfbd4822fd922e99066a7ebe7ada716b1 100644 (file)
@@ -46,7 +46,6 @@ require_once INSTALLDIR.'/lib/accountsettingsaction.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 OthersettingsAction extends AccountSettingsAction
 {
     /**
@@ -54,9 +53,9 @@ class OthersettingsAction extends AccountSettingsAction
      *
      * @return string Title of the page
      */
-
     function title()
     {
+        // Page title for a tab in user profile settings.
         return _('Other settings');
     }
 
@@ -68,6 +67,7 @@ class OthersettingsAction extends AccountSettingsAction
 
     function getInstructions()
     {
+        // TRANS: Instructions for tab "Other" in user profile settings.
         return _('Manage various other options.');
     }
 
@@ -105,6 +105,9 @@ class OthersettingsAction extends AccountSettingsAction
         {
             $services[$name]=$name;
             if($value['freeService']){
+                // TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+                // TRANS: user's profile settings. This message has one space at the beginning. Use your
+                // TRANS: language's word separator here if it has one (most likely a single space).
                 $services[$name].=_(' (free service)');
             }
         }
@@ -113,17 +116,22 @@ class OthersettingsAction extends AccountSettingsAction
             asort($services);
 
             $this->elementStart('li');
+            // TRANS: Label for dropdown with URL shortener services.
             $this->dropdown('urlshorteningservice', _('Shorten URLs with'),
+                            // TRANS: Tooltip for for dropdown with URL shortener services.
                             $services, _('Automatic shortening service to use.'),
                             false, $user->urlshorteningservice);
             $this->elementEnd('li');
         }
         $this->elementStart('li');
+        // TRANS: Label for checkbox.
         $this->checkbox('viewdesigns', _('View profile designs'),
+                        // TRANS: Tooltip for checkbox.
                         $user->viewdesigns, _('Show or hide profile designs.'));
         $this->elementEnd('li');
         $this->elementEnd('ul');
-        $this->submit('save', _('Save'));
+        // TRANS: Button text for saving "Other settings" in profile.
+        $this->submit('save', _m('BUTTON','Save'));
         $this->elementEnd('fieldset');
         $this->elementEnd('form');
     }
@@ -150,7 +158,8 @@ class OthersettingsAction extends AccountSettingsAction
         $urlshorteningservice = $this->trimmed('urlshorteningservice');
 
         if (!is_null($urlshorteningservice) && strlen($urlshorteningservice) > 50) {
-            $this->showForm(_('URL shortening service is too long (max 50 chars).'));
+            // TRANS: Form validation error for form "Other settings" in user profile.
+            $this->showForm(_('URL shortening service is too long (maximum 50 characters).'));
             return;
         }
 
@@ -171,6 +180,7 @@ class OthersettingsAction extends AccountSettingsAction
 
         if ($result === false) {
             common_log_db_error($user, 'UPDATE', __FILE__);
+            // TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
             $this->serverError(_('Couldn\'t update user.'));
             return;
         }
index f9956897f69918f1efa634db6149c9f1a0452a4f..33b0440e40193505be2516d938c104b0555d4fab 100644 (file)
@@ -362,7 +362,7 @@ class RecoverpasswordAction extends Action
         $confirm = $this->trimmed('confirm');
 
         if (!$newpassword || strlen($newpassword) < 6) {
-            $this->showPasswordForm(_('Password must be 6 chars or more.'));
+            $this->showPasswordForm(_('Password must be 6 characters or more.'));
             return;
         }
         if ($newpassword != $confirm) {
index f88bf2e9a8bbfaedd7d33a0748bb0a880ac895d8..e02c85c41b42b2977a15dad2834456d8759f3a15 100644 (file)
@@ -162,6 +162,20 @@ class RsdAction extends Action
                            'true');
             $this->elementEnd('settings');
             $this->elementEnd('api');
+
+            // Atom API
+
+            if (empty($this->user)) {
+                $service = common_local_url('ApiAtomService');
+            } else {
+                $service = common_local_url('ApiAtomService', array('id' => $this->user->nickname));
+            }
+
+            $this->element('api', array('name' => 'Atom',
+                                        'preferred' => 'false',
+                                        'apiLink' => $service,
+                                        'blogID' => $blogID));
+
             Event::handle('EndRsdListApis', array($this, $this->user));
         }
         $this->elementEnd('apis');
index 8e8ff717c112a0d2f7ba5544288089630b62d49e..f38cd420ac7b0a74d25b4332612f6e4167705197 100644 (file)
@@ -46,10 +46,8 @@ define('MEMBERS_PER_SECTION', 27);
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class ShowgroupAction extends GroupDesignAction
 {
-
     /** page we're viewing. */
     var $page = null;
 
@@ -58,7 +56,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return boolean true
      */
-
     function isReadOnly($args)
     {
         return true;
@@ -69,18 +66,16 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return string page title, with page number
      */
-
     function title()
     {
-        if (!empty($this->group->fullname)) {
-            $base = $this->group->fullname . ' (' . $this->group->nickname . ')';
-        } else {
-            $base = $this->group->nickname;
-        }
+        $base = $this->group->getFancyName();
 
         if ($this->page == 1) {
+            // TRANS: Page title for first group page. %s is a group name.
             return sprintf(_('%s group'), $base);
         } else {
+            // TRANS: Page title for any but first group page.
+            // TRANS: %1$s is a group name, $2$s is a page number.
             return sprintf(_('%1$s group, page %2$d'),
                            $base,
                            $this->page);
@@ -96,7 +91,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return boolean success flag
      */
-
     function prepare($args)
     {
         parent::prepare($args);
@@ -118,6 +112,7 @@ class ShowgroupAction extends GroupDesignAction
         }
 
         if (!$nickname) {
+            // TRANS: Client error displayed if no nickname argument was given requesting a group page.
             $this->clientError(_('No nickname.'), 404);
             return false;
         }
@@ -135,6 +130,7 @@ class ShowgroupAction extends GroupDesignAction
                 return false;
             } else {
                 common_log(LOG_NOTICE, "Couldn't find local group for nickname '$nickname'");
+                // TRANS: Client error displayed if no remote group with a given name was found requesting group page.
                 $this->clientError(_('No such group.'), 404);
                 return false;
             }
@@ -143,6 +139,7 @@ class ShowgroupAction extends GroupDesignAction
         $this->group = User_group::staticGet('id', $local->group_id);
 
         if (!$this->group) {
+                // TRANS: Client error displayed if no local group with a given name was found requesting group page.
             $this->clientError(_('No such group.'), 404);
             return false;
         }
@@ -160,7 +157,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function handle($args)
     {
         $this->showPage();
@@ -171,7 +167,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showLocalNav()
     {
         $nav = new GroupNav($this, $this->group);
@@ -183,7 +178,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * Shows a group profile and a list of group notices
      */
-
     function showContent()
     {
         $this->showGroupProfile();
@@ -195,7 +189,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showGroupNotices()
     {
         $notice = $this->group->getNotices(($this->page-1)*NOTICES_PER_PAGE,
@@ -218,15 +211,16 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showGroupProfile()
     {
         $this->elementStart('div', array('id' => 'i',
                                          'class' => 'entity_profile vcard author'));
 
+        // TRANS: Group profile header (h2). Text hidden by default.
         $this->element('h2', null, _('Group profile'));
 
         $this->elementStart('dl', 'entity_depiction');
+        // TRANS: Label for group avatar (dt). Text hidden by default.
         $this->element('dt', null, _('Avatar'));
         $this->elementStart('dd');
 
@@ -242,6 +236,7 @@ class ShowgroupAction extends GroupDesignAction
         $this->elementEnd('dl');
 
         $this->elementStart('dl', 'entity_nickname');
+        // TRANS: Label for group nickname (dt). Text hidden by default.
         $this->element('dt', null, _('Nickname'));
         $this->elementStart('dd');
         $hasFN = ($this->group->fullname) ? 'nickname url uid' : 'fn org nickname url uid';
@@ -253,6 +248,7 @@ class ShowgroupAction extends GroupDesignAction
 
         if ($this->group->fullname) {
             $this->elementStart('dl', 'entity_fn');
+            // TRANS: Label for full group name (dt). Text hidden by default.
             $this->element('dt', null, _('Full name'));
             $this->elementStart('dd');
             $this->element('span', 'fn org', $this->group->fullname);
@@ -262,6 +258,7 @@ class ShowgroupAction extends GroupDesignAction
 
         if ($this->group->location) {
             $this->elementStart('dl', 'entity_location');
+            // TRANS: Label for group location (dt). Text hidden by default.
             $this->element('dt', null, _('Location'));
             $this->element('dd', 'label', $this->group->location);
             $this->elementEnd('dl');
@@ -269,6 +266,7 @@ class ShowgroupAction extends GroupDesignAction
 
         if ($this->group->homepage) {
             $this->elementStart('dl', 'entity_url');
+            // TRANS: Label for group URL (dt). Text hidden by default.
             $this->element('dt', null, _('URL'));
             $this->elementStart('dd');
             $this->element('a', array('href' => $this->group->homepage,
@@ -280,6 +278,7 @@ class ShowgroupAction extends GroupDesignAction
 
         if ($this->group->description) {
             $this->elementStart('dl', 'entity_note');
+            // TRANS: Label for group description or group note (dt). Text hidden by default.
             $this->element('dt', null, _('Note'));
             $this->element('dd', 'note', $this->group->description);
             $this->elementEnd('dl');
@@ -290,6 +289,7 @@ class ShowgroupAction extends GroupDesignAction
 
             if (!empty($aliases)) {
                 $this->elementStart('dl', 'entity_aliases');
+                // TRANS: Label for group aliases (dt). Text hidden by default.
                 $this->element('dt', null, _('Aliases'));
                 $this->element('dd', 'aliases', implode(' ', $aliases));
                 $this->elementEnd('dl');
@@ -300,6 +300,7 @@ class ShowgroupAction extends GroupDesignAction
 
         $cur = common_current_user();
         $this->elementStart('div', 'entity_actions');
+        // TRANS: Group actions header (h2). Text hidden by default.
         $this->element('h2', null, _('Group actions'));
         $this->elementStart('ul');
         $this->elementStart('li', 'entity_subscribe');
@@ -331,7 +332,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function getFeeds()
     {
         $url =
@@ -341,23 +341,27 @@ class ShowgroupAction extends GroupDesignAction
         return array(new Feed(Feed::RSS1,
                               common_local_url('grouprss',
                                                array('nickname' => $this->group->nickname)),
+                              // TRANS: Tooltip for feed link. %s is a group nickname.
                               sprintf(_('Notice feed for %s group (RSS 1.0)'),
                                       $this->group->nickname)),
                      new Feed(Feed::RSS2,
                               common_local_url('ApiTimelineGroup',
                                                array('format' => 'rss',
                                                      'id' => $this->group->id)),
+                              // TRANS: Tooltip for feed link. %s is a group nickname.
                               sprintf(_('Notice feed for %s group (RSS 2.0)'),
                                       $this->group->nickname)),
                      new Feed(Feed::ATOM,
                               common_local_url('ApiTimelineGroup',
                                                array('format' => 'atom',
                                                      'id' => $this->group->id)),
+                              // TRANS: Tooltip for feed link. %s is a group nickname.
                               sprintf(_('Notice feed for %s group (Atom)'),
                                       $this->group->nickname)),
                      new Feed(Feed::FOAF,
                               common_local_url('foafgroup',
                                                array('nickname' => $this->group->nickname)),
+                              // TRANS: Tooltip for feed link. %s is a group nickname.
                               sprintf(_('FOAF for %s group'),
                                        $this->group->nickname)));
     }
@@ -367,7 +371,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showSections()
     {
         $this->showMembers();
@@ -382,7 +385,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showMembers()
     {
         $member = $this->group->getMembers(0, MEMBERS_PER_SECTION);
@@ -396,17 +398,22 @@ class ShowgroupAction extends GroupDesignAction
 
         if (Event::handle('StartShowGroupMembersMiniList', array($this))) {
 
+            // TRANS: Header for mini list of group members on a group page (h2).
             $this->element('h2', null, _('Members'));
 
             $gmml = new GroupMembersMiniList($member, $this);
             $cnt = $gmml->show();
             if ($cnt == 0) {
+                // TRANS: Description for mini list of group members on a group page when the group has no members.
                 $this->element('p', null, _('(None)'));
             }
 
+            // @todo FIXME: Should be shown if a group has more than 27 members, but I do not see it displayed at
+            //              for example http://identi.ca/group/statusnet. Broken?
             if ($cnt > MEMBERS_PER_SECTION) {
                 $this->element('a', array('href' => common_local_url('groupmembers',
                                                                      array('nickname' => $this->group->nickname))),
+                               // TRANS: Link to all group members from mini list of group members if group has more than n members.
                                _('All members'));
             }
 
@@ -421,7 +428,6 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showAdmins()
     {
         $adminSection = new GroupAdminSection($this, $this->group);
@@ -433,22 +439,26 @@ class ShowgroupAction extends GroupDesignAction
      *
      * @return void
      */
-
     function showStatistics()
     {
         $this->elementStart('div', array('id' => 'entity_statistics',
                                          'class' => 'section'));
 
+        // TRANS: Header for group statistics on a group page (h2).
         $this->element('h2', null, _('Statistics'));
 
         $this->elementStart('dl', 'entity_created');
-        $this->element('dt', null, _('Created'));
+        // @todo FIXME: i18n issue. This label gets a colon added from somewhere. Should be part of the message.
+        // TRANS: Label for creation date in statistics on group page.
+        $this->element('dt', null, _m('LABEL','Created'));
         $this->element('dd', null, date('j M Y',
                                                  strtotime($this->group->created)));
         $this->elementEnd('dl');
 
         $this->elementStart('dl', 'entity_members');
-        $this->element('dt', null, _('Members'));
+        // @todo FIXME: i18n issue. This label gets a colon added from somewhere. Should be part of the message.
+        // TRANS: Label for member count in statistics on group page.
+        $this->element('dt', null, _m('LABEL','Members'));
         $this->element('dd', null, $this->group->getMemberCount());
         $this->elementEnd('dl');
 
@@ -458,12 +468,21 @@ class ShowgroupAction extends GroupDesignAction
     function showAnonymousMessage()
     {
         if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+            // @todo FIXME: use group full name here if available instead of (uglier) primary alias.
+            // TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+            // TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+            // TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+            // TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
             $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
                 'based on the Free Software [StatusNet](http://status.net/) tool. Its members share ' .
                 'short messages about their life and interests. '.
                 '[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
                      $this->group->nickname);
         } else {
+            // @todo FIXME: use group full name here if available instead of (uglier) primary alias.
+            // TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+            // TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+            // TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
             $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
                 'based on the Free Software [StatusNet](http://status.net/) tool. Its members share ' .
                 'short messages about their life and interests. '),
@@ -492,6 +511,7 @@ class GroupAdminSection extends ProfileSection
 
     function title()
     {
+        // TRANS: Header for list of group administrators on a group page (h2).
         return _('Admins');
     }
 
@@ -527,4 +547,3 @@ class GroupMembersMiniListItem extends ProfileMiniListItem
         return $aAttrs;
     }
 }
-
index db757948baba6e64bbb731d9eeaa1530d819caaf..d737f85d3a0b2ba3b4bb0531f5344f023c5eb4ed 100644 (file)
@@ -26,8 +26,8 @@
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link      http://status.net/
  */
-if (!defined('STATUSNET') && !defined('LACONICA')) { 
-    exit(1); 
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+    exit(1);
 }
 
 require_once INSTALLDIR.'/lib/mailbox.php';
@@ -36,26 +36,24 @@ require_once INSTALLDIR.'/lib/mailbox.php';
  * Show a single message
  *
  * // XXX: It is totally weird how this works!
- * 
+ *
  * @category Personal
  * @package  StatusNet
  * @author   Evan Prodromou <evan@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class ShowmessageAction extends MailboxAction
 {
     /**
      * Message object to show
      */
-
     var $message = null;
-    
+
     /**
      * The current user
      */
-    
+
     var $user = null;
 
     /**
@@ -67,17 +65,17 @@ class ShowmessageAction extends MailboxAction
      *
      * @return success flag
      */
-
     function prepare($args)
     {
         parent::prepare($args);
-        
+
         $this->page = 1;
-        
+
         $id            = $this->trimmed('message');
         $this->message = Message::staticGet('id', $id);
 
         if (!$this->message) {
+            // TRANS: Client error displayed requesting a single message that does not exist.
             $this->clientError(_('No such message.'), 404);
             return false;
         }
@@ -90,40 +88,47 @@ class ShowmessageAction extends MailboxAction
     function handle($args)
     {
         Action::handle($args);
-                        
-        if ($this->user && ($this->user->id == $this->message->from_profile || 
+
+        if ($this->user && ($this->user->id == $this->message->from_profile ||
             $this->user->id == $this->message->to_profile)) {
                 $this->showPage();
         } else {
+            // TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
             $this->clientError(_('Only the sender and recipient ' .
                 'may read this message.'), 403);
             return;
         }
     }
-    
+
     function title()
-    {                        
+    {
         if ($this->user->id == $this->message->from_profile) {
             $to = $this->message->getTo();
-            return sprintf(_("Message to %1\$s on %2\$s"),
+            // @todo FIXME: Might be nice if the timestamp could be localised.
+            // TRANS: Page title for single direct message display when viewing user is the sender.
+            // TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+            return sprintf(_('Message to %1$s on %2$s'),
                              $to->nickname,
                              common_exact_date($this->message->created));
         } else if ($this->user->id == $this->message->to_profile) {
             $from = $this->message->getFrom();
-            return sprintf(_("Message from %1\$s on %2\$s"),
+            // @todo FIXME: Might be nice if the timestamp could be localised.
+            // TRANS: Page title for single message display.
+            // TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+            return sprintf(_('Message from %1$s on %2$s'),
                              $from->nickname,
                              common_exact_date($this->message->created));
         }
     }
-        
-    function getMessages() 
-    {    
+
+    function getMessages()
+    {
         $message     = new Message();
         $message->id = $this->message->id;
         $message->find();
         return $message;
     }
-    
+
     function getMessageProfile()
     {
         if ($this->user->id == $this->message->from_profile) {
@@ -135,23 +140,21 @@ class ShowmessageAction extends MailboxAction
             return null;
         }
     }
-    
+
     /**
      * Don't show local navigation
      *
      * @return void
      */
-
     function showLocalNavBlock()
     {
     }
-    
+
     /**
      * Don't show page notice
      *
      * @return void
      */
-
     function showPageNoticeBlock()
     {
     }
@@ -161,17 +164,15 @@ class ShowmessageAction extends MailboxAction
      *
      * @return void
      */
-
-    function showAside() 
+    function showAside()
     {
     }
+
     /**
      * Don't show any instructions
      *
      * @return string
      */
-     
     function getInstructions()
     {
         return '';
index 5fc863486c13620fec91072fa1f7f9e3b9bd662b..b4af7dbaa272d814a7058ee70506a93939a772b7 100644 (file)
@@ -167,11 +167,7 @@ class ShownoticeAction extends OwnerDesignAction
 
     function title()
     {
-        if (!empty($this->profile->fullname)) {
-            $base = $this->profile->fullname . ' (' . $this->profile->nickname . ')';
-        } else {
-            $base = $this->profile->nickname;
-        }
+        $base = $this->profile->getFancyName();
 
         return sprintf(_('%1$s\'s status on %2$s'),
                        $base,
@@ -335,8 +331,38 @@ class SingleNoticeItem extends DoFollowListItem
         $this->showEnd();
     }
 
+    /**
+     * For our zoomed-in special case we'll use a fuller list
+     * for the attachment info.
+     */
     function showNoticeAttachments() {
         $al = new AttachmentList($this->notice, $this->out);
         $al->show();
     }
+
+    /**
+     * show the avatar of the notice's author
+     *
+     * We use the larger size for single notice page.
+     * 
+     * @return void
+     */
+
+    function showAvatar()
+    {
+       $avatar_size = AVATAR_PROFILE_SIZE;
+
+        $avatar = $this->profile->getAvatar($avatar_size);
+
+        $this->out->element('img', array('src' => ($avatar) ?
+                                         $avatar->displayUrl() :
+                                         Avatar::defaultImage($avatar_size),
+                                         'class' => 'avatar photo',
+                                         'width' => $avatar_size,
+                                         'height' => $avatar_size,
+                                         'alt' =>
+                                         ($this->profile->fullname) ?
+                                         $this->profile->fullname :
+                                         $this->profile->nickname));
+    }
 }
index fb5b061fbe3031ef725aeb23710c9e22c2800bab..5a22bdf288ba02365f999aab7fd5b9f35e1c0091 100644 (file)
@@ -63,21 +63,26 @@ class ShowstreamAction extends ProfileAction
 
     function title()
     {
-        if (!empty($this->profile->fullname)) {
-            $base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
-        } else {
-            $base = $this->user->nickname;
-        }
+        $base = $this->profile->getFancyName();
         if (!empty($this->tag)) {
-            $base .= sprintf(_(' tagged %s'), $this->tag);
-        }
-
-        if ($this->page == 1) {
-            return $base;
+            if ($this->page == 1) {
+                // TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+                return sprintf(_('%1$s tagged %2$s'), $base, $this->tag);
+            } else {
+                // TRANS: Page title showing tagged notices in one user's stream.
+                // TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+                return sprintf(_('%1$s tagged %2$s, page %3$d'), $base, $this->tag, $this->page);
+            }
         } else {
-            return sprintf(_('%1$s, page %2$d'),
-                           $base,
-                           $this->page);
+            if ($this->page == 1) {
+                return $base;
+            } else {
+                // TRANS: Extended page title showing tagged notices in one user's stream.
+                // TRANS: %1$s is the username, %2$d is the page number.
+                return sprintf(_('%1$s, page %2$d'),
+                               $base,
+                               $this->page);
+            }
         }
     }
 
@@ -117,6 +122,8 @@ class ShowstreamAction extends ProfileAction
                                   common_local_url('userrss',
                                                    array('nickname' => $this->user->nickname,
                                                          'tag' => $this->tag)),
+                                  // TRANS: Title for link to notice feed.
+                                  // TRANS: %1$s is a user nickname, %2$s is a hashtag.
                                   sprintf(_('Notice feed for %1$s tagged %2$s (RSS 1.0)'),
                                           $this->user->nickname, $this->tag)));
         }
@@ -124,6 +131,8 @@ class ShowstreamAction extends ProfileAction
         return array(new Feed(Feed::RSS1,
                               common_local_url('userrss',
                                                array('nickname' => $this->user->nickname)),
+                              // TRANS: Title for link to notice feed.
+                              // TRANS: %s is a user nickname.
                               sprintf(_('Notice feed for %s (RSS 1.0)'),
                                       $this->user->nickname)),
                      new Feed(Feed::RSS2,
@@ -131,6 +140,8 @@ class ShowstreamAction extends ProfileAction
                                                array(
                                                     'id' => $this->user->id,
                                                     'format' => 'rss')),
+                              // TRANS: Title for link to notice feed.
+                              // TRANS: %s is a user nickname.
                               sprintf(_('Notice feed for %s (RSS 2.0)'),
                                       $this->user->nickname)),
                      new Feed(Feed::ATOM,
@@ -143,6 +154,8 @@ class ShowstreamAction extends ProfileAction
                      new Feed(Feed::FOAF,
                               common_local_url('foaf', array('nickname' =>
                                                              $this->user->nickname)),
+                              // TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+                              // TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
                               sprintf(_('FOAF for %s'), $this->user->nickname)));
     }
 
@@ -194,17 +207,23 @@ class ShowstreamAction extends ProfileAction
 
     function showEmptyListMessage()
     {
-        $message = sprintf(_('This is the timeline for %1$s but %2$s hasn\'t posted anything yet.'), $this->user->nickname, $this->user->nickname) . ' ';
+        // TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+        $message = sprintf(_('This is the timeline for %1$s, but %1$s hasn\'t posted anything yet.'), $this->user->nickname) . ' ';
 
         if (common_logged_in()) {
             $current_user = common_current_user();
             if ($this->user->id === $current_user->id) {
+                // TRANS: Second sentence of empty list message for a stream for the user themselves.
                 $message .= _('Seen anything interesting recently? You haven\'t posted any notices yet, now would be a good time to start :)');
             } else {
+                // TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+                // TRANS: This message contains a Markdown link. Keep "](" together.
                 $message .= sprintf(_('You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%%?status_textarea=%2$s).'), $this->user->nickname, '@' . $this->user->nickname);
             }
         }
         else {
+            // TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+            // TRANS: This message contains a Markdown link. Keep "](" together.
             $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to them.'), $this->user->nickname);
         }
 
@@ -240,11 +259,15 @@ class ShowstreamAction extends ProfileAction
     function showAnonymousMessage()
     {
         if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+            // TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+            // TRANS: This message contains a Markdown link. Keep "](" together.
             $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
                            'based on the Free Software [StatusNet](http://status.net/) tool. ' .
                            '[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
                          $this->user->nickname, $this->user->nickname);
         } else {
+            // TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+            // TRANS: This message contains a Markdown link. Keep "](" together.
             $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
                            'based on the Free Software [StatusNet](http://status.net/) tool. '),
                          $this->user->nickname, $this->user->nickname);
@@ -284,7 +307,6 @@ class ProfileNoticeListItem extends DoFollowListItem
      *
      * @return void
      */
-
     function showRepeat()
     {
         if (!empty($this->repeat)) {
@@ -295,13 +317,14 @@ class ProfileNoticeListItem extends DoFollowListItem
                            'class' => 'url');
 
             if (!empty($this->profile->fullname)) {
-                $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ')';
+                $attrs['title'] = $this->getFancyName();
             }
 
             $this->out->elementStart('span', 'repeat');
 
             $text_link = XMLStringer::estring('a', $attrs, $this->profile->nickname);
 
+            // TRANS: Link to the author of a repeated notice. %s is a linked nickname.
             $this->out->raw(sprintf(_('Repeat of %s'), $text_link));
 
             $this->out->elementEnd('span');
index bdcaa235573eb6e49e67b3ba88a8e614dc9d275a..797a6c4f4cfdeb1649c360e96c3cb580432aab7b 100644 (file)
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.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 SitenoticeadminpanelAction extends AdminPanelAction
 {
     /**
@@ -50,9 +49,9 @@ class SitenoticeadminpanelAction extends AdminPanelAction
      *
      * @return string page title
      */
-
     function title()
     {
+        // TRANS: Page title for site-wide notice tab in admin panel.
         return _('Site Notice');
     }
 
@@ -61,9 +60,9 @@ class SitenoticeadminpanelAction extends AdminPanelAction
      *
      * @return string instructions
      */
-
     function getInstructions()
     {
+        // TRANS: Instructions for site-wide notice tab in admin panel.
         return _('Edit site-wide message');
     }
 
@@ -72,7 +71,6 @@ class SitenoticeadminpanelAction extends AdminPanelAction
      *
      * @return void
      */
-
     function showForm()
     {
         $form = new SiteNoticeAdminPanelForm($this);
@@ -85,7 +83,6 @@ class SitenoticeadminpanelAction extends AdminPanelAction
      *
      * @return void
      */
-
     function saveSettings()
     {
         $siteNotice = $this->trimmed('site-notice');
@@ -100,6 +97,7 @@ class SitenoticeadminpanelAction extends AdminPanelAction
         $result = Config::save('site', 'notice', $siteNotice);
 
         if (!$result) {
+            // TRANS: Server error displayed when saving a site-wide notice was impossible.
             $this->ServerError(_("Unable to save site notice."));
         }
     }
@@ -110,7 +108,8 @@ class SitenoticeadminpanelAction extends AdminPanelAction
 
         if (mb_strlen($siteNotice) > 255)  {
             $this->clientError(
-                _('Max length for the site-wide notice is 255 chars.')
+                // TRANS: Client error displayed when a site-wide notice was longer than allowed.
+                _('Maximum length for the site-wide notice is 255 characters.')
             );
         }
 
@@ -173,9 +172,11 @@ class SiteNoticeAdminPanelForm extends AdminForm
         $this->out->elementStart('li');
         $this->out->textarea(
             'site-notice',
+            // TRANS: Label for site-wide notice text field in admin panel.
             _('Site notice text'),
             common_config('site', 'notice'),
-            _('Site-wide notice text (255 chars max; HTML okay)')
+            // TRANS: Tooltip for site-wide notice text field in admin panel.
+            _('Site-wide notice text (255 characters maximum; HTML allowed)')
         );
         $this->out->elementEnd('li');
 
@@ -192,9 +193,11 @@ class SiteNoticeAdminPanelForm extends AdminForm
     {
         $this->out->submit(
             'submit',
-            _('Save'),
+            // TRANS: Button text for saving site notice in admin panel.
+            _m('BUTTON','Save'),
             'submit',
             null,
+            // TRANS: Title for button to save site notice in admin panel.
             _('Save site notice')
         );
     }
index cf6589e50420baafb6cf2b5fa50711109e6bb1c9..3b77aff584fc4b3446dc10a1fa08b531ae878459 100644 (file)
@@ -19,6 +19,7 @@
 
 if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
+// @todo FIXME: Documentation needed.
 class SubeditAction extends Action
 {
     var $profile = null;
@@ -28,6 +29,7 @@ class SubeditAction extends Action
         parent::prepare($args);
 
         if (!common_logged_in()) {
+            // TRANS: Client error displayed trying a change a subscription while not logged in.
             $this->clientError(_('Not logged in.'));
             return false;
         }
@@ -43,6 +45,7 @@ class SubeditAction extends Action
         $id = $this->trimmed('profile');
 
         if (!$id) {
+            // TRANS: Client error displayed trying a change a subscription without providing a profile.
             $this->clientError(_('No profile specified.'));
             return false;
         }
@@ -50,6 +53,7 @@ class SubeditAction extends Action
         $this->profile = Profile::staticGet('id', $id);
 
         if (!$this->profile) {
+            // TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
             $this->clientError(_('No profile with that ID.'));
             return false;
         }
@@ -67,6 +71,7 @@ class SubeditAction extends Action
                                                'subscribed' => $this->profile->id));
 
             if (!$sub) {
+                // TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
                 $this->clientError(_('You are not subscribed to that profile.'));
                 return false;
             }
@@ -80,6 +85,7 @@ class SubeditAction extends Action
 
             if (!$result) {
                 common_log_db_error($sub, 'UPDATE', __FILE__);
+                // TRANS: Server error displayed when updating a subscription fails with a database error.
                 $this->serverError(_('Could not save subscription.'));
                 return false;
             }
index 04e0ca3e757bc17ed96c30bdc0256d77755674e5..fc75e83b2dffc8ec07dc0eda089f604f970b84e7 100644 (file)
@@ -45,7 +45,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 UseradminpanelAction extends AdminPanelAction
 {
     /**
@@ -53,7 +52,6 @@ class UseradminpanelAction extends AdminPanelAction
      *
      * @return string page title
      */
-
     function title()
     {
         // TRANS: User admin panel title
@@ -65,9 +63,9 @@ class UseradminpanelAction extends AdminPanelAction
      *
      * @return string instructions
      */
-
     function getInstructions()
     {
+        // TRANS: Instruction for user admin panel.
         return _('User settings for this StatusNet site');
     }
 
@@ -76,7 +74,6 @@ class UseradminpanelAction extends AdminPanelAction
      *
      * @return void
      */
-
     function showForm()
     {
         $form = new UserAdminPanelForm($this);
@@ -89,7 +86,6 @@ class UseradminpanelAction extends AdminPanelAction
      *
      * @return void
      */
-
     function saveSettings()
     {
         static $settings = array(
@@ -147,13 +143,15 @@ class UseradminpanelAction extends AdminPanelAction
         // Validate biolimit
 
         if (!Validate::number($values['profile']['biolimit'])) {
-            $this->clientError(_("Invalid bio limit. Must be numeric."));
+            // TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+            $this->clientError(_('Invalid bio limit. Must be numeric.'));
         }
 
         // Validate welcome text
 
         if (mb_strlen($values['newuser']['welcome']) > 255) {
-            $this->clientError(_("Invalid welcome text. Max length is 255 characters."));
+            // TRANS: Form validation error in user admin panel when welcome text is too long.
+            $this->clientError(_('Invalid welcome text. Maximum length is 255 characters.'));
         }
 
         // Validate default subscription
@@ -163,7 +161,9 @@ class UseradminpanelAction extends AdminPanelAction
             if (empty($defuser)) {
                 $this->clientError(
                     sprintf(
-                        _('Invalid default subscripton: \'%1$s\' is not user.'),
+                        // TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+                        // TRANS: users in user admin panel. %1$s is the invalid nickname.
+                        _('Invalid default subscripton: \'%1$s\' is not a user.'),
                         $values['newuser']['default']
                     )
                 );
@@ -179,7 +179,6 @@ class UserAdminPanelForm extends AdminForm
      *
      * @return int ID of the form
      */
-
     function id()
     {
         return 'useradminpanel';
@@ -190,7 +189,6 @@ class UserAdminPanelForm extends AdminForm
      *
      * @return string class of the form
      */
-
     function formClass()
     {
         return 'form_settings';
@@ -201,7 +199,6 @@ class UserAdminPanelForm extends AdminForm
      *
      * @return string URL of the action
      */
-
     function action()
     {
         return common_local_url('useradminpanel');
@@ -212,7 +209,6 @@ class UserAdminPanelForm extends AdminForm
      *
      * @return void
      */
-
     function formData()
     {
         $this->out->elementStart('fieldset', array('id' => 'settings_user-profile'));
@@ -220,7 +216,9 @@ class UserAdminPanelForm extends AdminForm
         $this->out->elementStart('ul', 'form_data');
 
         $this->li();
+        // TRANS: Field label in user admin panel for setting the character limit for the bio field.
         $this->input('biolimit', _('Bio Limit'),
+                     // TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
                      _('Maximum length of a profile bio in characters.'),
                      'profile');
         $this->unli();
@@ -229,17 +227,22 @@ class UserAdminPanelForm extends AdminForm
         $this->out->elementEnd('fieldset');
 
         $this->out->elementStart('fieldset', array('id' => 'settings_user-newusers'));
+        // TRANS: Form legend in user admin panel.
         $this->out->element('legend', null, _('New users'));
         $this->out->elementStart('ul', 'form_data');
 
         $this->li();
+        // TRANS: Field label in user admin panel for setting new user welcome text.
         $this->input('welcome', _('New user welcome'),
-                     _('Welcome text for new users (Max 255 chars).'),
+                     // TRANS: Tooltip in user admin panel for setting new user welcome text.
+                     _('Welcome text for new users (maximum 255 characters).'),
                      'newuser');
         $this->unli();
 
         $this->li();
+        // TRANS: Field label in user admin panel for setting default subscription for new users.
         $this->input('default', _('Default subscription'),
+                     // TRANS: Tooltip in user admin panel for setting default subscription for new users.
                      _('Automatically subscribe new users to this user.'),
                      'newuser');
         $this->unli();
@@ -249,21 +252,21 @@ class UserAdminPanelForm extends AdminForm
         $this->out->elementEnd('fieldset');
 
         $this->out->elementStart('fieldset', array('id' => 'settings_user-invitations'));
+        // TRANS: Form legend in user admin panel.
         $this->out->element('legend', null, _('Invitations'));
         $this->out->elementStart('ul', 'form_data');
 
         $this->li();
 
+        // TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
         $this->out->checkbox('invite-enabled', _('Invitations enabled'),
                               (bool) $this->value('enabled', 'invite'),
+                              // TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
                               _('Whether to allow users to invite new users.'));
         $this->unli();
 
         $this->out->elementEnd('ul');
         $this->out->elementEnd('fieldset');
-
-
-
     }
 
     /**
@@ -278,7 +281,6 @@ class UserAdminPanelForm extends AdminForm
      *
      * @return void
      */
-
     function input($setting, $title, $instructions, $section='site')
     {
         $this->out->input("$section-$setting", $title, $this->value($setting, $section), $instructions);
@@ -289,9 +291,14 @@ class UserAdminPanelForm extends AdminForm
      *
      * @return void
      */
-
     function formActions()
     {
-        $this->out->submit('submit', _('Save'), 'submit', null, _('Save user settings'));
+        $this->out->submit('submit',
+                           // TRANS: Button text to save user settings in user admin panel.
+                           _m('BUTTON','Save'),
+                           'submit',
+                           null,
+                           // TRANS: Title for button to save user settings in user admin panel.
+                           _('Save user settings'));
     }
 }
index da029e39b69b0641262faca5895971791ca1e593..ef9dbf14aba1226c744df6f55472350852bef1d7 100644 (file)
@@ -116,10 +116,24 @@ class File extends Memcached_DataObject
     }
 
     /**
+     * Go look at a URL and possibly save data about it if it's new:
+     * - follow redirect chains and store them in file_redirection
+     * - look up oEmbed data and save it in file_oembed
+     * - if a thumbnail is available, save it in file_thumbnail
+     * - save file record with basic info
+     * - optionally save a file_to_post record
+     * - return the File object with the full reference
+     *
      * @fixme refactor this mess, it's gotten pretty scary.
-     * @param bool $followRedirects
+     * @param string $given_url the URL we're looking at
+     * @param int $notice_id (optional)
+     * @param bool $followRedirects defaults to true
+     *
+     * @return mixed File on success, -1 on some errors
+     *
+     * @throws ServerException on some errors
      */
-    function processNew($given_url, $notice_id=null, $followRedirects=true) {
+    public function processNew($given_url, $notice_id=null, $followRedirects=true) {
         if (empty($given_url)) return -1;   // error, no url to process
         $given_url = File_redirection::_canonUrl($given_url);
         if (empty($given_url)) return -1;   // error, no url to process
@@ -169,9 +183,9 @@ class File extends Memcached_DataObject
         if (empty($x)) {
             $x = File::staticGet($file_id);
             if (empty($x)) {
-                // FIXME: This could possibly be a clearer message :)
+                // @todo FIXME: This could possibly be a clearer message :)
                 // TRANS: Server exception thrown when... Robin thinks something is impossible!
-                throw new ServerException(_("Robin thinks something is impossible."));
+                throw new ServerException(_('Robin thinks something is impossible.'));
             }
         }
 
@@ -186,8 +200,10 @@ class File extends Memcached_DataObject
         if ($fileSize > common_config('attachments', 'file_quota')) {
             // TRANS: Message given if an upload is larger than the configured maximum.
             // TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-            return sprintf(_('No file may be larger than %1$d bytes ' .
-                             'and the file you sent was %2$d bytes. Try to upload a smaller version.'),
+            // TRANS: %1$s is used for plural.
+            return sprintf(_m('No file may be larger than %1$d byte and the file you sent was %2$d bytes. Try to upload a smaller version.',
+                              'No file may be larger than %1$d bytes and the file you sent was %2$d bytes. Try to upload a smaller version.',
+                              common_config('attachments', 'file_quota')),
                            common_config('attachments', 'file_quota'), $fileSize);
         }
 
@@ -197,8 +213,11 @@ class File extends Memcached_DataObject
         $total = $this->total + $fileSize;
         if ($total > common_config('attachments', 'user_quota')) {
             // TRANS: Message given if an upload would exceed user quota.
-            // TRANS: %d (number) is the user quota in bytes.
-            return sprintf(_('A file this large would exceed your user quota of %d bytes.'), common_config('attachments', 'user_quota'));
+            // TRANS: %d (number) is the user quota in bytes and is used for plural.
+            return sprintf(_m('A file this large would exceed your user quota of %d byte.',
+                              'A file this large would exceed your user quota of %d bytes.',
+                              common_config('attachments', 'user_quota')),
+                           common_config('attachments', 'user_quota'));
         }
         $query .= ' AND EXTRACT(month FROM file.modified) = EXTRACT(month FROM now()) and EXTRACT(year FROM file.modified) = EXTRACT(year FROM now())';
         $this->query($query);
@@ -206,8 +225,11 @@ class File extends Memcached_DataObject
         $total = $this->total + $fileSize;
         if ($total > common_config('attachments', 'monthly_quota')) {
             // TRANS: Message given id an upload would exceed a user's monthly quota.
-            // TRANS: $d (number) is the monthly user quota in bytes.
-            return sprintf(_('A file this large would exceed your monthly quota of %d bytes.'), common_config('attachments', 'monthly_quota'));
+            // TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+            return sprintf(_m('A file this large would exceed your monthly quota of %d byte.',
+                              'A file this large would exceed your monthly quota of %d bytes.',
+                              common_config('attachments', 'monthly_quota')),
+                           common_config('attachments', 'monthly_quota'));
         }
         return true;
     }
@@ -217,12 +239,19 @@ class File extends Memcached_DataObject
     static function filename($profile, $basename, $mimetype)
     {
         require_once 'MIME/Type/Extension.php';
+
+        // We have to temporarily disable auto handling of PEAR errors...
+        PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
+
         $mte = new MIME_Type_Extension();
-        try {
-            $ext = $mte->getExtension($mimetype);
-        } catch ( Exception $e) {
+        $ext = $mte->getExtension($mimetype);
+        if (PEAR::isError($ext)) {
             $ext = strtolower(preg_replace('/\W/', '', $mimetype));
         }
+
+        // Restore error handling.
+        PEAR::staticPopErrorHandling();
+
         $nickname = $profile->nickname;
         $datestamp = strftime('%Y%m%dT%H%M%S', time());
         $random = strtolower(common_confirmation_code(32));
@@ -292,9 +321,7 @@ class File extends Memcached_DataObject
             }
 
             $protocol = 'https';
-
         } else {
-
             $path = common_config('attachments', 'path');
             $server = common_config('attachments', 'server');
 
@@ -339,22 +366,28 @@ class File extends Memcached_DataObject
                 $mimetype = substr($mimetype,0,$semicolon);
             }
             if(in_array($mimetype,$notEnclosureMimeTypes)){
+                // Never treat generic HTML links as an enclosure type!
+                // But if we have oEmbed info, we'll consider it golden.
                 $oembed = File_oembed::staticGet('file_id',$this->id);
-                if($oembed){
+                if($oembed && in_array($oembed->type, array('photo', 'video'))){
                     $mimetype = strtolower($oembed->mimetype);
                     $semicolon = strpos($mimetype,';');
                     if($semicolon){
                         $mimetype = substr($mimetype,0,$semicolon);
                     }
-                    if(in_array($mimetype,$notEnclosureMimeTypes)){
-                        return false;
-                    }else{
+                    // @fixme uncertain if this is right.
+                    // we want to expose things like YouTube videos as
+                    // viewable attachments, but don't expose them as
+                    // downloadable enclosures.....?
+                    //if (in_array($mimetype, $notEnclosureMimeTypes)) {
+                    //    return false;
+                    //} else {
                         if($oembed->mimetype) $enclosure->mimetype=$oembed->mimetype;
                         if($oembed->url) $enclosure->url=$oembed->url;
                         if($oembed->title) $enclosure->title=$oembed->title;
                         if($oembed->modified) $enclosure->modified=$oembed->modified;
                         unset($oembed->size);
-                    }
+                    //}
                 } else {
                     return false;
                 }
@@ -369,4 +402,14 @@ class File extends Memcached_DataObject
         $enclosure = $this->getEnclosure();
         return !empty($enclosure);
     }
+
+    /**
+     * Get the attachment's thumbnail record, if any.
+     *
+     * @return File_thumbnail
+     */
+    function getThumbnail()
+    {
+        return File_thumbnail::staticGet('file_id', $this->id);
+    }
 }
index 4813d5dda52e8709fde611ba7deb48726959ab8d..b7bf3a5dae51d5db18ba259fd6f0a812c60e6faa 100644 (file)
@@ -58,26 +58,16 @@ class File_oembed extends Memcached_DataObject
         return array(false, false, false);
     }
 
-    function _getOembed($url, $maxwidth = 500, $maxheight = 400) {
-        require_once INSTALLDIR.'/extlib/Services/oEmbed.php';
+    function _getOembed($url) {
         $parameters = array(
-            'maxwidth'=>$maxwidth,
-            'maxheight'=>$maxheight,
+            'maxwidth' => common_config('attachments', 'thumb_width'),
+            'maxheight' => common_config('attachments', 'thumb_height'),
         );
-        try{
-            $oEmbed = new Services_oEmbed($url);
-            $object = $oEmbed->getObject($parameters);
-            return $object;
-        }catch(Exception $e){
-            try{
-                $oEmbed = new Services_oEmbed($url, array(
-                    Services_oEmbed::OPTION_API => common_config('oohembed', 'endpoint')
-                ));
-                $object = $oEmbed->getObject($parameters);
-                return $object;
-            }catch(Exception $ex){
-                return false;
-            }
+        try {
+            return oEmbedHelper::getObject($url, $parameters);
+        } catch (Exception $e) {
+            common_log(LOG_ERR, "Error during oembed lookup for $url - " . $e->getMessage());
+            return false;
         }
     }
 
@@ -120,7 +110,7 @@ class File_oembed extends Memcached_DataObject
             }
         }
         $file_oembed->insert();
-        if (!empty($data->thumbnail_url)) {
+        if (!empty($data->thumbnail_url) || ($data->type == 'photo')) {
             $ft = File_thumbnail::staticGet('file_id', $file_id);
             if (!empty($ft)) {
                 common_log(LOG_WARNING, "Strangely, a File_thumbnail object exists for new file $file_id",
index 68fed77e8bb3eef6402fc0b737676c193cf3b420..1976e3439cf0525bca9ab4aaa284d97c682cb8ca 100644 (file)
@@ -91,9 +91,16 @@ class File_redirection extends Memcached_DataObject
             $request->setMethod(HTTP_Request2::METHOD_HEAD);
             $response = $request->send();
 
-            if (405 == $response->getStatus()) {
+            if (405 == $response->getStatus() || 204 == $response->getStatus()) {
+                // HTTP 405 Unsupported Method
                 // Server doesn't support HEAD method? Can this really happen?
                 // We'll try again as a GET and ignore the response data.
+                //
+                // HTTP 204 No Content
+                // YFrog sends 204 responses back for our HEAD checks, which
+                // seems like it may be a logic error in their servers. If
+                // we get a 204 back, re-run it as a GET... if there's really
+                // no content it'll be cheap. :)
                 $request = self::_commonHttp($short_url, $redirs);
                 $response = $request->send();
             }
@@ -235,6 +242,18 @@ class File_redirection extends Memcached_DataObject
         return null;
     }
 
+    /**
+     * Basic attempt to canonicalize a URL, cleaning up some standard variants
+     * such as funny syntax or a missing path. Used internally when cleaning
+     * up URLs for storage and following redirect chains.
+     *
+     * Note that despite being on File_redirect, this function DOES NOT perform
+     * any dereferencing of redirects.
+     *
+     * @param string $in_url input URL
+     * @param string $default_scheme if given a bare link; defaults to 'http://'
+     * @return string
+     */
     function _canonUrl($in_url, $default_scheme = 'http://') {
         if (empty($in_url)) return false;
         $out_url = $in_url;
index edae8ac21a9153119de458a166f39f47a8f12ec2..17bac7f08c024e264dcae9913458500cfe612307 100644 (file)
@@ -48,12 +48,45 @@ class File_thumbnail extends Memcached_DataObject
         return array(false, false, false);
     }
 
-    function saveNew($data, $file_id) {
+    /**
+     * Save oEmbed-provided thumbnail data
+     *
+     * @param object $data
+     * @param int $file_id
+     */
+    public static function saveNew($data, $file_id) {
+        if (!empty($data->thumbnail_url)) {
+            // Non-photo types such as video will usually
+            // show us a thumbnail, though it's not required.
+            self::saveThumbnail($file_id,
+                                $data->thumbnail_url,
+                                $data->thumbnail_width,
+                                $data->thumbnail_height);
+        } else if ($data->type == 'photo') {
+            // The inline photo URL given should also fit within
+            // our requested thumbnail size, per oEmbed spec.
+            self::saveThumbnail($file_id,
+                                $data->url,
+                                $data->width,
+                                $data->height);
+        }
+    }
+
+    /**
+     * Save a thumbnail record for the referenced file record.
+     *
+     * @param int $file_id
+     * @param string $url
+     * @param int $width
+     * @param int $height
+     */
+    static function saveThumbnail($file_id, $url, $width, $height)
+    {
         $tn = new File_thumbnail;
         $tn->file_id = $file_id;
-        $tn->url = $data->thumbnail_url;
-        $tn->width = intval($data->thumbnail_width);
-        $tn->height = intval($data->thumbnail_height);
+        $tn->url = $url;
+        $tn->width = intval($width);
+        $tn->height = intval($height);
         $tn->insert();
     }
 }
index 60989f9bac12025688eb0b8922729d69456eefda..85c7dabea48f5d9f31667042cab2c5b07ed8fccd 100644 (file)
@@ -524,10 +524,8 @@ class Notice extends Memcached_DataObject
         $notice = new Notice();
         $notice->profile_id = $profile_id;
         $notice->content = $content;
-        if (common_config('db','type') == 'pgsql')
-          $notice->whereAdd('extract(epoch from now() - created) < ' . common_config('site', 'dupelimit'));
-        else
-          $notice->whereAdd('now() - created < ' . common_config('site', 'dupelimit'));
+        $threshold = common_sql_date(time() - common_config('site', 'dupelimit'));
+        $notice->whereAdd(sprintf("created > '%s'", $notice->escape($threshold)));
 
         $cnt = $notice->count();
         return ($cnt == 0);
@@ -904,7 +902,7 @@ class Notice extends Memcached_DataObject
     {
         if (!is_array($group_ids)) {
             // TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-            throw new ServerException(_("Bad type provided to saveKnownGroups"));
+            throw new ServerException(_('Bad type provided to saveKnownGroups.'));
         }
 
         $groups = array();
@@ -1613,6 +1611,35 @@ class Notice extends Memcached_DataObject
             Event::handle('EndActivityGeo', array(&$this, &$xs, $lat, $lon));
         }
 
+        // @fixme check this logic
+
+        if ($this->isLocal()) {
+
+            $selfUrl = common_local_url('ApiStatusesShow', array('id' => $this->id,
+                                                                 'format' => 'atom'));
+
+            if (Event::handle('StartActivityRelSelf', array(&$this, &$xs, &$selfUrl))) {
+                $xs->element('link', array('rel' => 'self',
+                                           'type' => 'application/atom+xml',
+                                           'href' => $selfUrl));
+                Event::handle('EndActivityRelSelf', array(&$this, &$xs, $selfUrl));
+            }
+
+            if (!empty($cur) && $cur->id == $this->profile_id) {
+
+                // note: $selfUrl may have been changed by a plugin
+                $relEditUrl = common_local_url('ApiStatusesShow', array('id' => $this->id,
+                                                                        'format' => 'atom'));
+
+                if (Event::handle('StartActivityRelEdit', array(&$this, &$xs, &$relEditUrl))) {
+                    $xs->element('link', array('rel' => 'edit',
+                                               'type' => 'application/atom+xml',
+                                               'href' => $relEditUrl));
+                    Event::handle('EndActivityRelEdit', array(&$this, &$xs, $relEditUrl));
+                }
+            }
+        }
+
         if (Event::handle('StartActivityEnd', array(&$this, &$xs))) {
             $xs->elementEnd('entry');
             Event::handle('EndActivityEnd', array(&$this, &$xs));
index b11cffc776cc496d24d5396f454d2e40aea416f5..3ea95ab014e7aa0fb66284cb9aa0ce4bb40cf62d 100644 (file)
@@ -141,11 +141,32 @@ class Profile extends Memcached_DataObject
         return true;
     }
 
+    /**
+     * Gets either the full name (if filled) or the nickname.
+     *
+     * @return string
+     */
     function getBestName()
     {
         return ($this->fullname) ? $this->fullname : $this->nickname;
     }
 
+    /**
+     * Gets the full name (if filled) with nickname as a parenthetical, or the nickname alone
+     * if no fullname is provided.
+     *
+     * @return string
+     */
+    function getFancyName()
+    {
+        if ($this->fullname) {
+            // TRANS: Full name of a profile or group followed by nickname in parens
+            return sprintf(_m('FANCYNAME','%1$s (%2$s)'), $this->fullname, $this->nickname);
+        } else {
+            return $this->nickname;
+        }
+    }
+
     /**
      * Get the most recent notice posted by this user, if any.
      *
index 7d6e219148374f49545d1937ba469b961c7ce97b..60217e960ed7460f7545a8075edca48a7f2c4403 100644 (file)
@@ -234,6 +234,22 @@ class User_group extends Memcached_DataObject
         return ($this->fullname) ? $this->fullname : $this->nickname;
     }
 
+    /**
+     * Gets the full name (if filled) with nickname as a parenthetical, or the nickname alone
+     * if no fullname is provided.
+     *
+     * @return string
+     */
+    function getFancyName()
+    {
+        if ($this->fullname) {
+            // TRANS: Full name of a profile or group followed by nickname in parens
+            return sprintf(_m('FANCYNAME','%1$s (%2$s)'), $this->fullname, $this->nickname);
+        } else {
+            return $this->nickname;
+        }
+    }
+
     function getAliases()
     {
         $aliases = array();
diff --git a/extlib/Services/oEmbed.php b/extlib/Services/oEmbed.php
deleted file mode 100644 (file)
index 0dc8f01..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<?php
-
-/**
- * An interface for oEmbed consumption
- *
- * PHP version 5.1.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Validate.php';
-require_once 'Net/URL2.php';
-require_once 'HTTP/Request.php';
-require_once 'Services/oEmbed/Exception.php';
-require_once 'Services/oEmbed/Exception/NoSupport.php';
-require_once 'Services/oEmbed/Object.php';
-
-/**
- * Base class for consuming oEmbed objects
- *
- * <code>
- * <?php
- * 
- * require_once 'Services/oEmbed.php';
- *
- * // The URL that we'd like to find out more information about.
- * $url = 'http://flickr.com/photos/joestump/2848795611/';
- *
- * // The oEmbed API URI. Not all providers support discovery yet so we're
- * // explicitly providing one here. If one is not provided Services_oEmbed
- * // attempts to discover it. If none is found an exception is thrown.
- * $oEmbed = new Services_oEmbed($url, array(
- *     Services_oEmbed::OPTION_API => 'http://www.flickr.com/services/oembed/'
- * ));
- * $object = $oEmbed->getObject();
- *
- * // All of the objects have somewhat sane __toString() methods that allow
- * // you to output them directly.
- * echo (string)$object;
- * 
- * ?>
- * </code> 
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed
-{
-    /**
-     * HTTP timeout in seconds
-     * 
-     * All HTTP requests made by Services_oEmbed will respect this timeout. 
-     * This can be passed to {@link Services_oEmbed::setOption()} or to the
-     * options parameter in {@link Services_oEmbed::__construct()}.
-     * 
-     * @var string OPTION_TIMEOUT Timeout in seconds 
-     */
-    const OPTION_TIMEOUT = 'http_timeout';
-
-    /**
-     * HTTP User-Agent 
-     *
-     * All HTTP requests made by Services_oEmbed will be sent with the 
-     * string set by this option.
-     *
-     * @var string OPTION_USER_AGENT The HTTP User-Agent string
-     */
-    const OPTION_USER_AGENT = 'http_user_agent';
-
-    /**
-     * The API's URI
-     *
-     * If the API is known ahead of time this option can be used to explicitly
-     * set it. If not present then the API is attempted to be discovered 
-     * through the auto-discovery mechanism.
-     *
-     * @var string OPTION_API
-     */
-    const OPTION_API = 'oembed_api';
-
-    /**
-     * Options for oEmbed requests
-     *
-     * @var array $options The options for making requests
-     */
-    protected $options = array(
-        self::OPTION_TIMEOUT    => 3,
-        self::OPTION_API        => null,
-        self::OPTION_USER_AGENT => 'Services_oEmbed 0.1.0'
-    );
-
-    /**
-     * URL of object to get embed information for
-     *
-     * @var object $url {@link Net_URL2} instance of URL of object
-     */
-    protected $url = null;
-
-    /**
-     * Constructor
-     *
-     * @param string $url     The URL to fetch an oEmbed for
-     * @param array  $options A list of options for the oEmbed lookup
-     *
-     * @throws {@link Services_oEmbed_Exception} if the $url is invalid
-     * @throws {@link Services_oEmbed_Exception} when no valid API is found
-     * @return void
-     */
-    public function __construct($url, array $options = array())
-    {
-        if (Validate::uri($url)) {
-            $this->url = new Net_URL2($url);
-        } else {
-            throw new Services_oEmbed_Exception('URL is invalid');
-        }
-
-        if (count($options)) {
-            foreach ($options as $key => $val) {
-                $this->setOption($key, $val);
-            }
-        }
-
-        if ($this->options[self::OPTION_API] === null) {
-            $this->options[self::OPTION_API] = $this->discover($url);
-        } 
-    }
-
-    /**
-     * Set an option for the oEmbed request
-     * 
-     * @param mixed $option The option name
-     * @param mixed $value  The option value
-     *
-     * @see Services_oEmbed::OPTION_API, Services_oEmbed::OPTION_TIMEOUT
-     * @throws {@link Services_oEmbed_Exception} on invalid option
-     * @access public
-     * @return void
-     */
-    public function setOption($option, $value)
-    {
-        switch ($option) {
-        case self::OPTION_API:
-        case self::OPTION_TIMEOUT:
-            break;
-        default:
-            throw new Services_oEmbed_Exception(
-                'Invalid option "' . $option . '"'
-            );
-        }
-
-        $func = '_set_' . $option;
-        if (method_exists($this, $func)) {
-            $this->options[$option] = $this->$func($value);
-        } else {
-            $this->options[$option] = $value;
-        }
-    }
-
-    /**
-     * Set the API option
-     * 
-     * @param string $value The API's URI
-     *
-     * @throws {@link Services_oEmbed_Exception} on invalid API URI
-     * @see Validate::uri()
-     * @return string
-     */
-    protected function _set_oembed_api($value)
-    {
-        if (!Validate::uri($value)) {
-            throw new Services_oEmbed_Exception(
-                'API URI provided is invalid'
-            );
-        }
-
-        return $value;
-    }
-
-    /**
-     * Get the oEmbed response
-     *
-     * @param array $params Optional parameters for 
-     * 
-     * @throws {@link Services_oEmbed_Exception} on cURL errors
-     * @throws {@link Services_oEmbed_Exception} on HTTP errors
-     * @throws {@link Services_oEmbed_Exception} when result is not parsable 
-     * @return object The oEmbed response as an object
-     */
-    public function getObject(array $params = array())
-    {
-        $params['url'] = $this->url->getURL();
-        if (!isset($params['format'])) {
-            $params['format'] = 'json';
-        }
-
-        $sets = array();
-        foreach ($params as $var => $val) {
-            $sets[] = $var . '=' . urlencode($val);
-        }
-
-        $url = $this->options[self::OPTION_API] . '?' . implode('&', $sets);
-
-        $ch = curl_init();
-        curl_setopt($ch, CURLOPT_URL, $url);
-        curl_setopt($ch, CURLOPT_HEADER, false);
-        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->options[self::OPTION_TIMEOUT]);
-        $result = curl_exec($ch);
-
-        if (curl_errno($ch)) {
-            throw new Services_oEmbed_Exception(
-                curl_error($ch), curl_errno($ch)
-            );
-        }
-
-        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
-        if (substr($code, 0, 1) != '2') {
-            throw new Services_oEmbed_Exception('Non-200 code returned. Got code ' . $code);
-        }
-
-        curl_close($ch);
-
-        switch ($params['format']) {
-        case 'json':
-            $res = json_decode($result);
-            if (!is_object($res)) {
-                throw new Services_oEmbed_Exception(
-                    'Could not parse JSON response'
-                );
-            }
-            break;
-        case 'xml':
-            libxml_use_internal_errors(true);
-            $res = simplexml_load_string($result);
-            if (!$res instanceof SimpleXMLElement) {
-                $errors = libxml_get_errors();
-                $err    = array_shift($errors);
-                libxml_clear_errors();
-                libxml_use_internal_errors(false);
-                throw new Services_oEmbed_Exception(
-                    $err->message, $error->code
-                );
-            }
-            break;
-        }
-
-        return Services_oEmbed_Object::factory($res);
-    }
-
-    /**
-     * Discover an oEmbed API 
-     *
-     * @param string $url The URL to attempt to discover oEmbed for
-     *
-     * @throws {@link Services_oEmbed_Exception} if the $url is invalid
-     * @return string The oEmbed API endpoint discovered
-     */
-    protected function discover($url)
-    {
-        $body = $this->sendRequest($url);
-
-        // Find all <link /> tags that have a valid oembed type set. We then
-        // extract the href attribute for each type.
-        $regexp = '#<link([^>]*)type[\s\n]*=[\s\n]*"' . 
-                  '(application/json|text/xml)\+oembed"([^>]*)>#im';
-
-        $m = $ret = array();
-        if (!preg_match_all($regexp, $body, $m)) {
-            throw new Services_oEmbed_Exception_NoSupport(
-                'No valid oEmbed links found on page'
-            );
-        }
-
-        foreach ($m[0] as $i => $link) {
-            $h = array();
-            if (preg_match('/[\s\n]+href[\s\n]*=[\s\n]*"([^"]+)"/im', $link, $h)) {
-                $ret[$m[2][$i]] = $h[1];
-            }
-        } 
-
-        return (isset($ret['application/json']) ? $ret['application/json'] : array_pop($ret));
-    }
-
-    /**
-     * Send a GET request to the provider
-     * 
-     * @param mixed $url The URL to send the request to
-     *
-     * @throws {@link Services_oEmbed_Exception} on HTTP errors
-     * @return string The contents of the response
-     */
-    private function sendRequest($url)
-    {
-        $ch = curl_init();
-        curl_setopt($ch, CURLOPT_URL, $url);
-        curl_setopt($ch, CURLOPT_HEADER, false);
-        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->options[self::OPTION_TIMEOUT]);
-        curl_setopt($ch, CURLOPT_USERAGENT, $this->options[self::OPTION_USER_AGENT]);
-        $result = curl_exec($ch);
-        if (curl_errno($ch)) {
-            throw new Services_oEmbed_Exception(
-                curl_error($ch), curl_errno($ch)
-            );
-        }
-
-        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
-        if (substr($code, 0, 1) != '2') {
-            throw new Services_oEmbed_Exception('Non-200 code returned. Got code ' . $code);
-        }
-
-        return $result;
-    }
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Exception.php b/extlib/Services/oEmbed/Exception.php
deleted file mode 100644 (file)
index 446ac2a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/**
- * Base exception class for {@link Services_oEmbed}
- *
- * PHP version 5.1.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'PEAR/Exception.php';
-
-/**
- * Base exception class for {@link Services_oEmbed}
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Exception extends PEAR_Exception
-{
-
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Exception/NoSupport.php b/extlib/Services/oEmbed/Exception/NoSupport.php
deleted file mode 100644 (file)
index 384c719..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/**
- * Exception class when no oEmbed support is discovered
- *
- * PHP version 5.2.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-/**
- * Exception class when no oEmbed support is discovered
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Exception_NoSupport extends Services_oEmbed_Exception
-{
-    
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object.php b/extlib/Services/oEmbed/Object.php
deleted file mode 100644 (file)
index 9eedd7e..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-/**
- * An interface for oEmbed consumption
- *
- * PHP version 5.1.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Services/oEmbed/Object/Exception.php';
-
-/**
- * Base class for consuming oEmbed objects
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-abstract class Services_oEmbed_Object 
-{
-    
-    /**
-     * Valid oEmbed object types
-     *
-     * @var array $types Array of valid object types
-     * @see Services_oEmbed_Object::factory()
-     */
-    static protected $types = array(
-        'photo' => 'Photo',
-        'video' => 'Video',
-        'link'  => 'Link',
-        'rich'  => 'Rich'
-    );
-
-    /**
-     * Create an oEmbed object from result
-     *
-     * @param object $object Raw object returned from API
-     *
-     * @throws {@link Services_oEmbed_Object_Exception} on object error
-     * @return object Instance of object driver
-     * @see Services_oEmbed_Object_Link, Services_oEmbed_Object_Photo
-     * @see Services_oEmbed_Object_Rich, Services_oEmbed_Object_Video
-     */
-    static public function factory($object)
-    {
-        if (!isset($object->type)) {
-            throw new Services_oEmbed_Object_Exception(
-                'Object has no type'
-            );
-        }
-
-        $type = (string)$object->type;
-        if (!isset(self::$types[$type])) {
-            throw new Services_oEmbed_Object_Exception(
-                'Object type is unknown or invalid: ' . $type
-            );
-        }
-
-        $file = 'Services/oEmbed/Object/' . self::$types[$type] . '.php';
-        include_once $file;
-
-        $class = 'Services_oEmbed_Object_' . self::$types[$type];
-        if (!class_exists($class)) {
-            throw new Services_oEmbed_Object_Exception(
-                'Object class is invalid or not present'
-            );
-        }
-
-        $instance = new $class($object);
-        return $instance;
-    }
-
-    /**
-     * Instantiation is not allowed
-     *
-     * @return void
-     */
-    private function __construct()
-    {
-    
-    }
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object/Common.php b/extlib/Services/oEmbed/Object/Common.php
deleted file mode 100644 (file)
index f568ec8..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/**
- * Base class for oEmbed objects
- *
- * PHP version 5.1.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-/**
- * Base class for oEmbed objects
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-abstract class Services_oEmbed_Object_Common
-{
-    /**
-     * Raw object returned from API
-     *
-     * @var object $object The raw object from the API
-     */
-    protected $object = null;
-
-    /**
-     * Required fields per the specification
-     *
-     * @var array $required Array of required fields
-     * @link http://oembed.com
-     */
-    protected $required = array();
-
-    /**
-     * Constructor
-     *
-     * @param object $object Raw object returned from the API
-     *
-     * @throws {@link Services_oEmbed_Object_Exception} on missing fields
-     * @return void
-     */
-    public function __construct($object)
-    {
-        $this->object = $object;
-
-        $this->required[] = 'version';
-        foreach ($this->required as $field) {
-            if (!isset($this->$field)) {
-                throw new Services_oEmbed_Object_Exception(
-                    'Object is missing required ' . $field . ' attribute'
-                );
-            }
-        }
-    }
-
-    /**
-     * Get object variable
-     *
-     * @param string $var Variable to get
-     *
-     * @see Services_oEmbed_Object_Common::$object
-     * @return mixed Attribute's value or null if it's not set/exists
-     */
-    public function __get($var)
-    {
-        if (property_exists($this->object, $var)) {
-            return $this->object->$var;
-        }
-
-        return null;
-    }
-
-    /**
-     * Is variable set?
-     *
-     * @param string $var Variable name to check
-     * 
-     * @return boolean True if set, false if not
-     * @see Services_oEmbed_Object_Common::$object
-     */
-    public function __isset($var)
-    {
-        if (property_exists($this->object, $var)) {
-            return (isset($this->object->$var));
-        }
-
-        return false;
-    }
-
-    /**
-     * Require a sane __toString for all objects
-     *
-     * @return string
-     */
-    abstract public function __toString();
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object/Exception.php b/extlib/Services/oEmbed/Object/Exception.php
deleted file mode 100644 (file)
index 6025ffd..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/**
- * Exception for {@link Services_oEmbed_Object}
- *
- * PHP version 5.1.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Services/oEmbed/Exception.php';
-
-/**
- * Exception for {@link Services_oEmbed_Object}
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Object_Exception extends Services_oEmbed_Exception
-{
-
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object/Link.php b/extlib/Services/oEmbed/Object/Link.php
deleted file mode 100644 (file)
index 9b627a8..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/**
- * Link object for {@link Services_oEmbed}
- *
- * PHP version 5.2.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Services/oEmbed/Object/Common.php';
-
-/**
- * Link object for {@link Services_oEmbed}
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Object_Link extends Services_oEmbed_Object_Common
-{
-    /**
-     * Output a sane link
-     *
-     * @return string An HTML link of the object
-     */
-    public function __toString()
-    {
-        return '<a href="' . $this->url . '">' . $this->title . '</a>';
-    }
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object/Photo.php b/extlib/Services/oEmbed/Object/Photo.php
deleted file mode 100644 (file)
index 5fbf429..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/**
- * Photo object for {@link Services_oEmbed}
- *
- * PHP version 5.2.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Services/oEmbed/Object/Common.php';
-
-/**
- * Photo object for {@link Services_oEmbed}
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Object_Photo extends Services_oEmbed_Object_Common
-{
-    /**
-     * Required fields for photo objects
-     *
-     * @var array $required Required fields
-     */
-    protected $required = array(
-        'url', 'width', 'height'
-    );
-    /**
-     * Output a valid HTML tag for image
-     *
-     * @return string HTML <img /> tag for Photo
-     */
-    public function __toString()
-    {
-        $img = '<img src="' . $this->url . '" width="' . $this->width . '" ' .
-               'height="' . $this->height . '"';
-
-        if (isset($this->title)) {
-            $img .= ' alt="' . $this->title . '"';
-        }
-
-        return $img . ' />';
-    }
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object/Rich.php b/extlib/Services/oEmbed/Object/Rich.php
deleted file mode 100644 (file)
index dbf6933..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/**
- * Photo object for {@link Services_oEmbed}
- *
- * PHP version 5.2.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Services/oEmbed/Object/Common.php';
-
-/**
- * Photo object for {@link Services_oEmbed}
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Object_Rich extends Services_oEmbed_Object_Common
-{
-    /**
-     * Required fields for rich objects
-     *
-     * @var array $required Required fields
-     */
-    protected $required = array(
-        'html', 'width', 'height'
-    );
-    /**
-     * Output a the HTML tag for rich object
-     *
-     * @return string HTML for rich object
-     */
-    public function __toString()
-    {
-        return $this->html;        
-    }
-}
-
-?>
diff --git a/extlib/Services/oEmbed/Object/Video.php b/extlib/Services/oEmbed/Object/Video.php
deleted file mode 100644 (file)
index 7461081..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/**
- * Photo object for {@link Services_oEmbed}
- *
- * PHP version 5.2.0+
- *
- * Copyright (c) 2008, Digg.com, Inc.
- * 
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions are met:
- *
- *  - Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *  - Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *  - Neither the name of Digg.com, Inc. nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   SVN: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-
-require_once 'Services/oEmbed/Object/Common.php';
-
-/**
- * Photo object for {@link Services_oEmbed}
- * 
- * @category  Services
- * @package   Services_oEmbed
- * @author    Joe Stump <joe@joestump.net> 
- * @copyright 2008 Digg.com, Inc.
- * @license   http://tinyurl.com/42zef New BSD License
- * @version   Release: @version@
- * @link      http://code.google.com/p/digg
- * @link      http://oembed.com
- */
-class Services_oEmbed_Object_Video extends Services_oEmbed_Object_Common
-{
-    /**
-     * Required fields for video objects
-     *
-     * @var array $required Required fields
-     */
-    protected $required = array(
-        'html', 'width', 'height'
-    );
-    /**
-     * Output a valid embed tag for video
-     *
-     * @return string HTML for video
-     */
-    public function __toString()
-    {
-        return $this->html;        
-    }
-}
-
-?>
index 1989e92c099ea050c7edcf3e50e1f22c8297eff1..74eef4df170dac457a7e45f18fb47cc212fe4de1 100644 (file)
@@ -59,6 +59,15 @@ var SN = { // StatusNet
         }
     },
 
+    messages: {},
+    msg: function(key) {
+        if (typeof SN.messages[key] == "undefined") {
+            return '[' + key + ']';
+        } else {
+            return SN.messages[key];
+        }
+    },
+
     U: { // Utils
         FormNoticeEnhancements: function(form) {
             if (jQuery.data(form[0], 'ElementData') === undefined) {
@@ -416,62 +425,7 @@ var SN = { // StatusNet
                     });
 
                     return false;
-                });
-            }
-            else {
-                $.fn.jOverlay.options = {
-                    method : 'GET',
-                    data : '',
-                    url : '',
-                    color : '#000',
-                    opacity : '0.6',
-                    zIndex : 9999,
-                    center : false,
-                    imgLoading : $('address .url')[0].href+'theme/base/images/illustrations/illu_progress_loading-01.gif',
-                    bgClickToClose : true,
-                    success : function() {
-                        $('#jOverlayContent').append('<button class="close">&#215;</button>');
-                        $('#jOverlayContent button').click($.closeOverlay);
-                    },
-                    timeout : 0,
-                    autoHide : true,
-                    css : {'max-width':'542px', 'top':'5%', 'left':'32.5%'}
-                };
-
-                notice.find('a.attachment').click(function() {
-                    var attachId = ($(this).attr('id').substring('attachment'.length + 1));
-                    if (attachId) {
-                        $().jOverlay({url: $('address .url')[0].href+'attachment/' + attachId + '/ajax'});
-                        return false;
-                    }
-                });
-
-                if ($('#shownotice').length == 0) {
-                    var t;
-                    notice.find('a.thumbnail').hover(
-                        function() {
-                            var anchor = $(this);
-                            $('a.thumbnail').children('img').hide();
-                            anchor.closest(".entry-title").addClass('ov');
-
-                            if (anchor.children('img').length === 0) {
-                                t = setTimeout(function() {
-                                    $.get($('address .url')[0].href+'attachment/' + (anchor.attr('id').substring('attachment'.length + 1)) + '/thumbnail', null, function(data) {
-                                        anchor.append(data);
-                                    });
-                                }, 500);
-                            }
-                            else {
-                                anchor.children('img').show();
-                            }
-                        },
-                        function() {
-                            clearTimeout(t);
-                            $('a.thumbnail').children('img').hide();
-                            $(this).closest('.entry-title').removeClass('ov');
-                        }
-                    );
-                }
+                }).attr('title', SN.msg('showmore_tooltip'));
             }
         },
 
index 01bb0f7e92bebe78bc50ae7eb7afad4f43bbc412..17d3e2311aa9a81f945572a638c48ad0b603ad23 100644 (file)
@@ -283,6 +283,7 @@ class Action extends HTMLOutputter // lawsuit
             if (Event::handle('StartShowStatusNetScripts', array($this)) &&
                 Event::handle('StartShowLaconicaScripts', array($this))) {
                 $this->script('util.js');
+                $this->showScriptMessages();
                 // Frame-busting code to avoid clickjacking attacks.
                 $this->inlineScript('if (window.top !== window.self) { window.top.location.href = window.self.location.href; }');
                 Event::handle('EndShowStatusNetScripts', array($this));
@@ -292,6 +293,54 @@ class Action extends HTMLOutputter // lawsuit
         }
     }
 
+    /**
+     * Exports a map of localized text strings to JavaScript code.
+     *
+     * Plugins can add to what's exported by hooking the StartScriptMessages or EndScriptMessages
+     * events and appending to the array. Try to avoid adding strings that won't be used, as
+     * they'll be added to HTML output.
+     */
+    function showScriptMessages()
+    {
+        $messages = array();
+        if (Event::handle('StartScriptMessages', array($this, &$messages))) {
+            // Common messages needed for timeline views etc...
+
+            // TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+            $messages['showmore_tooltip'] = _m('TOOLTIP', 'Show more');
+
+            $messages = array_merge($messages, $this->getScriptMessages());
+        }
+        Event::handle('EndScriptMessages', array($this, &$messages));
+        if ($messages) {
+            $this->inlineScript('SN.messages=' . json_encode($messages));
+        }
+        return $messages;
+    }
+
+    /**
+     * If the action will need localizable text strings, export them here like so:
+     *
+     * return array('pool_deepend' => _('Deep end'),
+     *              'pool_shallow' => _('Shallow end'));
+     *
+     * The exported map will be available via SN.msg() to JS code:
+     *
+     *   $('#pool').html('<div class="deepend"></div><div class="shallow"></div>');
+     *   $('#pool .deepend').text(SN.msg('pool_deepend'));
+     *   $('#pool .shallow').text(SN.msg('pool_shallow'));
+     *
+     * Exports a map of localized text strings to JavaScript code.
+     *
+     * Plugins can add to what's exported on any action by hooking the StartScriptMessages or
+     * EndScriptMessages events and appending to the array. Try to avoid adding strings that won't
+     * be used, as they'll be added to HTML output.
+     */
+    function getScriptMessages()
+    {
+        return array();
+    }
+
     /**
      * Show OpenSearch headers
      *
@@ -824,16 +873,17 @@ class Action extends HTMLOutputter // lawsuit
                             // TRANS: Secondary navigation menu option leading to privacy policy.
                             _('Privacy'));
             $this->menuItem(common_local_url('doc', array('title' => 'source')),
-                            // TRANS: Secondary navigation menu option.
+                            // TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
                             _('Source'));
             $this->menuItem(common_local_url('version'),
                             // TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
                             _('Version'));
             $this->menuItem(common_local_url('doc', array('title' => 'contact')),
-                            // TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
+                            // TRANS: Secondary navigation menu option leading to e-mail contact information on the
+                            // TRANS: StatusNet site, where to report bugs, ...
                             _('Contact'));
             $this->menuItem(common_local_url('doc', array('title' => 'badge')),
-                            // TRANS: Secondary navigation menu option.
+                            // TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
                             _('Badge'));
             Event::handle('EndSecondaryNav', array($this));
         }
@@ -1354,4 +1404,15 @@ class Action extends HTMLOutputter // lawsuit
             $this->clientError(_('There was a problem with your session token.'));
         }
     }
+
+    /**
+     * Check if the current request is a POST
+     *
+     * @return boolean true if POST; otherwise false.
+     */
+
+    function isPost()
+    {
+        return ($_SERVER['REQUEST_METHOD'] == 'POST');
+    }
 }
index 4e9dbb310bcfc4e10253c5b39e59840ba009eae3..8a7be31502f29e89ca02f5370a22b4d89f0351ac 100644 (file)
@@ -726,6 +726,12 @@ class ApiAction extends Action
         $this->endDocument('xml');
     }
 
+    function showSingleAtomStatus($notice)
+    {
+        header('Content-Type: application/atom+xml; charset=utf-8');
+        print $notice->asAtomEntry(true, true, true, $this->auth_user);
+    }
+
     function show_single_json_status($notice)
     {
         $this->initDocument('json');
index f6b09fb49182153d568bca81cad4014314649cc2..7e536925bfffeee2f9cb69a251f539b1dfb2cefd 100644 (file)
@@ -79,23 +79,33 @@ class AttachmentList extends Widget
         $atts = new File;
         $att = $atts->getAttachments($this->notice->id);
         if (empty($att)) return 0;
+        $this->showListStart();
+
+        foreach ($att as $n=>$attachment) {
+            $item = $this->newListItem($attachment);
+            $item->show();
+        }
+
+        $this->showListEnd();
+
+        return count($att);
+    }
+
+    function showListStart()
+    {
         $this->out->elementStart('dl', array('id' =>'attachments',
                                              'class' => 'entry-content'));
         // TRANS: DT element label in attachment list.
         $this->out->element('dt', null, _('Attachments'));
         $this->out->elementStart('dd');
         $this->out->elementStart('ol', array('class' => 'attachments'));
+    }
 
-        foreach ($att as $n=>$attachment) {
-            $item = $this->newListItem($attachment);
-            $item->show();
-        }
-
+    function showListEnd()
+    {
         $this->out->elementEnd('dd');
         $this->out->elementEnd('ol');
         $this->out->elementEnd('dl');
-
-        return count($att);
     }
 
     /**
@@ -187,7 +197,10 @@ class AttachmentListItem extends Widget
     }
 
     function linkAttr() {
-        return array('class' => 'attachment', 'href' => $this->attachment->url, 'id' => 'attachment-' . $this->attachment->id);
+        return array('class' => 'attachment',
+                     'href' => $this->attachment->url,
+                     'id' => 'attachment-' . $this->attachment->id,
+                     'title' => $this->title());
     }
 
     function showLink() {
@@ -203,10 +216,32 @@ class AttachmentListItem extends Widget
     }
 
     function showRepresentation() {
+        $thumb = $this->getThumbInfo();
+        if ($thumb) {
+            $this->out->element('img', array('alt' => '', 'src' => $thumb->url, 'width' => $thumb->width, 'height' => $thumb->height));
+        }
+    }
+
+    /**
+     * Pull a thumbnail image reference for the given file, and if necessary
+     * resize it to match currently thumbnail size settings.
+     *
+     * @return File_Thumbnail or false/null
+     */
+    function getThumbInfo()
+    {
         $thumbnail = File_thumbnail::staticGet('file_id', $this->attachment->id);
-        if (!empty($thumbnail)) {
-            $this->out->element('img', array('alt' => '', 'src' => $thumbnail->url, 'width' => $thumbnail->width, 'height' => $thumbnail->height));
+        if ($thumbnail) {
+            $maxWidth = common_config('attachments', 'thumb_width');
+            $maxHeight = common_config('attachments', 'thumb_height');
+            if ($thumbnail->width > $maxWidth) {
+                $thumb = clone($thumbnail);
+                $thumb->width = $maxWidth;
+                $thumb->height = intval($thumbnail->height * $maxWidth / $thumbnail->width);
+                return $thumb;
+            }
         }
+        return $thumbnail;
     }
 
     /**
@@ -234,6 +269,9 @@ class AttachmentListItem extends Widget
     }
 }
 
+/**
+ * used for one-off attachment action
+ */
 class Attachment extends AttachmentListItem
 {
     function showLink() {
@@ -417,15 +455,6 @@ class Attachment extends AttachmentListItem
 
     function showFallback()
     {
-        // If we don't know how to display an attachment inline, we probably
-        // shouldn't have gotten to this point.
-        //
-        // But, here we are... displaying details on a file or remote URL
-        // either on the main view or in an ajax-loaded lightbox. As a lesser
-        // of several evils, we'll try redirecting to the actual target via
-        // client-side JS.
-
-        common_log(LOG_ERR, "Empty or unknown type for file id {$this->attachment->id}; falling back to client-side redirect.");
-        $this->out->raw('<script>window.location = ' . json_encode($this->attachment->url) . ';</script>');
+        // still needed: should show a link?
     }
 }
index 658262a0908fe6f2c92f0e9f5fc80cb7b7da5a2f..ae69f04a1366b80d990110344374db868c40ef09 100644 (file)
@@ -423,7 +423,7 @@ class WhoisCommand extends Command
 
         // TRANS: Whois output.
         // TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-        $whois = sprintf(_("%1\$s (%2\$s)"), $recipient->nickname,
+        $whois = sprintf(_m('WHOIS',"%1\$s (%2\$s)"), $recipient->nickname,
                          $recipient->profileurl);
         if ($recipient->fullname) {
             // TRANS: Whois output. %s is the full name of the queried user.
@@ -483,9 +483,11 @@ class MessageCommand extends Command
 
         if (Message::contentTooLong($this->text)) {
             // XXX: i18n. Needs plural support.
-            // TRANS: Message given if content is too long.
+            // TRANS: Message given if content is too long. %1$sd is used for plural.
             // TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-            $channel->error($this->user, sprintf(_('Message too long - maximum is %1$d characters, you sent %2$d.'),
+            $channel->error($this->user, sprintf(_m('Message too long - maximum is %1$d character, you sent %2$d.',
+                                                    'Message too long - maximum is %1$d characters, you sent %2$d.',
+                                                    Message::maxContent()),
                                                  Message::maxContent(), mb_strlen($this->text)));
             return;
         }
@@ -584,9 +586,11 @@ class ReplyCommand extends Command
 
         if (Notice::contentTooLong($this->text)) {
             // XXX: i18n. Needs plural support.
-            // TRANS: Message given if content of a notice for a reply is too long.
+            // TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
             // TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-            $channel->error($this->user, sprintf(_('Notice too long - maximum is %1$d characters, you sent %2$d.'),
+            $channel->error($this->user, sprintf(_m('Notice too long - maximum is %1$d character, you sent %2$d.',
+                                                    'Notice too long - maximum is %1$d characters, you sent %2$d.',
+                                                    Notice::maxContent()),
                                                  Notice::maxContent(), mb_strlen($this->text)));
             return;
         }
index a19453fce49ddb3ec2edcd61f78e42f9220b395f..ece01f2a8b5189912b2ac3eb11af3fbce9dbc7b2 100644 (file)
@@ -250,6 +250,9 @@ $default =
               'monthly_quota' => 15000000,
               'uploads' => true,
               'filecommand' => '/usr/bin/file',
+              'show_thumbs' => true, // show thumbnails in notice lists for uploaded images, and photos and videos linked remotely that provide oEmbed info
+              'thumb_width' => 100,
+              'thumb_height' => 75,
               ),
         'application' =>
         array('desclimit' => null),
index 4955e9219954c2bf000124ae8f0f8911c512bca7..90296a64da60066d66013e0d1b15c7899254e818 100644 (file)
@@ -48,10 +48,8 @@ require_once INSTALLDIR . '/lib/webcolor.php';
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class DesignSettingsAction extends AccountSettingsAction
 {
-
     var $submitaction = null;
 
     /**
@@ -59,9 +57,9 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return string Title of the page
      */
-
     function title()
     {
+        // TRANS: Page title for profile design page.
         return _('Profile design');
     }
 
@@ -70,9 +68,9 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return instructions for use
      */
-
     function getInstructions()
     {
+        // TRANS: Instructions for profile design page.
         return _('Customize the way your profile looks ' .
         'with a background image and a colour palette of your choice.');
     }
@@ -84,10 +82,8 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return nothing
      */
-
     function showDesignForm($design)
     {
-
         $this->elementStart('form', array('method' => 'post',
                                           'enctype' => 'multipart/form-data',
                                           'id' => 'form_settings_design',
@@ -98,14 +94,18 @@ class DesignSettingsAction extends AccountSettingsAction
 
         $this->elementStart('fieldset', array('id' =>
             'settings_design_background-image'));
+        // TRANS: Fieldset legend on profile design page.
         $this->element('legend', null, _('Change background image'));
         $this->elementStart('ul', 'form_data');
         $this->elementStart('li');
         $this->element('label', array('for' => 'design_background-image_file'),
+                                // TRANS: Label in form on profile design page.
+                                // TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
                                 _('Upload file'));
         $this->element('input', array('name' => 'design_background-image_file',
                                       'type' => 'file',
                                       'id' => 'design_background-image_file'));
+        // TRANS: Instructions for form on profile design page.
         $this->element('p', 'form_guide', _('You can upload your personal ' .
             'background image. The maximum file size is 2MB.'));
         $this->element('input', array('name' => 'MAX_FILE_SIZE',
@@ -115,7 +115,6 @@ class DesignSettingsAction extends AccountSettingsAction
         $this->elementEnd('li');
 
         if (!empty($design->backgroundimage)) {
-
             $this->elementStart('li', array('id' =>
                 'design_background-image_onoff'));
 
@@ -136,7 +135,8 @@ class DesignSettingsAction extends AccountSettingsAction
 
             $this->element('label', array('for' => 'design_background-image_on',
                                           'class' => 'radio'),
-                                          _('On'));
+                                          // TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+                                          _m('RADIO','On'));
 
             $attrs = array('name' => 'design_background-image_onoff',
                            'type' => 'radio',
@@ -152,12 +152,16 @@ class DesignSettingsAction extends AccountSettingsAction
 
             $this->element('label', array('for' => 'design_background-image_off',
                                           'class' => 'radio'),
-                                          _('Off'));
+                                          // TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+                                          _m('RADIO','Off'));
+            // TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+            // TRANS: use of the uploaded profile image.
             $this->element('p', 'form_guide', _('Turn background image on or off.'));
             $this->elementEnd('li');
 
             $this->elementStart('li');
             $this->checkbox('design_background-image_repeat',
+                            // TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
                             _('Tile background image'),
                             ($design->disposition & BACKGROUND_TILE) ? true : false);
             $this->elementEnd('li');
@@ -167,14 +171,15 @@ class DesignSettingsAction extends AccountSettingsAction
         $this->elementEnd('fieldset');
 
         $this->elementStart('fieldset', array('id' => 'settings_design_color'));
+        // TRANS: Fieldset legend on profile design page to change profile page colours.
         $this->element('legend', null, _('Change colours'));
         $this->elementStart('ul', 'form_data');
 
         try {
-
             $bgcolor = new WebColor($design->backgroundcolor);
 
             $this->elementStart('li');
+            // TRANS: Label on profile design page for setting a profile page background colour.
             $this->element('label', array('for' => 'swatch-1'), _('Background'));
             $this->element('input', array('name' => 'design_background',
                                           'type' => 'text',
@@ -188,6 +193,7 @@ class DesignSettingsAction extends AccountSettingsAction
             $ccolor = new WebColor($design->contentcolor);
 
             $this->elementStart('li');
+            // TRANS: Label on profile design page for setting a profile page content colour.
             $this->element('label', array('for' => 'swatch-2'), _('Content'));
             $this->element('input', array('name' => 'design_content',
                                           'type' => 'text',
@@ -201,6 +207,7 @@ class DesignSettingsAction extends AccountSettingsAction
             $sbcolor = new WebColor($design->sidebarcolor);
 
             $this->elementStart('li');
+            // TRANS: Label on profile design page for setting a profile page sidebar colour.
             $this->element('label', array('for' => 'swatch-3'), _('Sidebar'));
             $this->element('input', array('name' => 'design_sidebar',
                                         'type' => 'text',
@@ -214,6 +221,7 @@ class DesignSettingsAction extends AccountSettingsAction
             $tcolor = new WebColor($design->textcolor);
 
             $this->elementStart('li');
+            // TRANS: Label on profile design page for setting a profile page text colour.
             $this->element('label', array('for' => 'swatch-4'), _('Text'));
             $this->element('input', array('name' => 'design_text',
                                         'type' => 'text',
@@ -227,6 +235,7 @@ class DesignSettingsAction extends AccountSettingsAction
             $lcolor = new WebColor($design->linkcolor);
 
             $this->elementStart('li');
+            // TRANS: Label on profile design page for setting a profile page links colour.
             $this->element('label', array('for' => 'swatch-5'), _('Links'));
             $this->element('input', array('name' => 'design_links',
                                          'type' => 'text',
@@ -244,16 +253,22 @@ class DesignSettingsAction extends AccountSettingsAction
         $this->elementEnd('ul');
         $this->elementEnd('fieldset');
 
+        // TRANS: Button text on profile design page to immediately reset all colour settings to default.
         $this->submit('defaults', _('Use defaults'), 'submit form_action-default',
+            // TRANS: Title for button on profile design page to reset all colour settings to default.
             'defaults', _('Restore default designs'));
 
         $this->element('input', array('id' => 'settings_design_reset',
                                      'type' => 'reset',
-                                     'value' => 'Reset',
+                                     // TRANS: Button text on profile design page to reset all colour settings to default without saving.
+                                     'value' => _m('BUTTON','Reset'),
                                      'class' => 'submit form_action-primary',
+                                     // TRANS: Title for button on profile design page to reset all colour settings to default without saving.
                                      'title' => _('Reset back to default')));
 
-        $this->submit('save', _('Save'), 'submit form_action-secondary',
+        // TRANS: Button text on profile design page to save settings.
+        $this->submit('save', _m('BUTTON','Save'), 'submit form_action-secondary',
+            // TRANS: Title for button on profile design page to save settings.
             'save', _('Save design'));
 
         $this->elementEnd('fieldset');
@@ -268,7 +283,6 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function handlePost()
     {
         if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@@ -280,8 +294,10 @@ class DesignSettingsAction extends AccountSettingsAction
                 && empty($_POST)
                 && ($_SERVER['CONTENT_LENGTH'] > 0)
             ) {
-                $msg = _('The server was unable to handle that much POST ' .
-                    'data (%s bytes) due to its current configuration.');
+                // TRANS: Form validation error in design settings form. POST should remain untranslated.
+                $msg = _m('The server was unable to handle that much POST data (%s byte) due to its current configuration.',
+                          'The server was unable to handle that much POST data (%s bytes) due to its current configuration.',
+                          intval($_SERVER['CONTENT_LENGTH']));
 
                 $this->showForm(sprintf($msg, $_SERVER['CONTENT_LENGTH']));
                 return;
@@ -301,6 +317,7 @@ class DesignSettingsAction extends AccountSettingsAction
         } else if ($this->arg('defaults')) {
             $this->restoreDefaults();
         } else {
+            // TRANS: Unknown form validation error in design settings form.
             $this->showForm(_('Unexpected form submission.'));
         }
     }
@@ -310,7 +327,6 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function showStylesheets()
     {
         parent::showStylesheets();
@@ -322,7 +338,6 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return void
      */
-
     function showScripts()
     {
         parent::showScripts();
@@ -340,10 +355,8 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return nothing
      */
-
     function saveBackgroundImage($design)
     {
-
         // Now that we have a Design ID we can add a file to the design.
         // XXX: This is an additional DB hit, but figured having the image
         // associated with the Design rather than the User was worth
@@ -388,6 +401,7 @@ class DesignSettingsAction extends AccountSettingsAction
 
             if ($result === false) {
                 common_log_db_error($design, 'UPDATE', __FILE__);
+                // TRANS: Error message displayed if design settings could not be saved.
                 $this->showForm(_('Couldn\'t update your design.'));
                 return;
             }
@@ -399,7 +413,6 @@ class DesignSettingsAction extends AccountSettingsAction
      *
      * @return nothing
      */
-
     function restoreDefaults()
     {
         $design = $this->getWorkingDesign();
@@ -410,12 +423,13 @@ class DesignSettingsAction extends AccountSettingsAction
 
             if ($result === false) {
                 common_log_db_error($design, 'DELETE', __FILE__);
+                // TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
                 $this->showForm(_('Couldn\'t update your design.'));
                 return;
             }
         }
 
+        // TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
         $this->showForm(_('Design defaults restored.'), true);
     }
-
 }
index 076576028dc5884609af022fdd205543dc6ba247..bbe66b2e74af62470b05bb020f1199f9ece32c26 100644 (file)
@@ -62,6 +62,7 @@ class FeedList extends Widget
             if (!empty($feeds)) {
                 $this->out->elementStart('div', array('id' => 'export_data',
                                                       'class' => 'section'));
+                // TRANS: Header for feed links (h2).
                 $this->out->element('h2', null, _('Feeds'));
                 $this->out->elementStart('ul', array('class' => 'xoxo'));
 
index 433f6a13871ccec4de2ad2d01837e95412df59ed..cc25f0688634952dce05d05ff4c1c37eba1f2cde 100644 (file)
@@ -160,14 +160,17 @@ class GroupEditForm extends Form
         $this->out->elementStart('li');
         $this->out->input('homepage', _('Homepage'),
                           ($this->out->arg('homepage')) ? $this->out->arg('homepage') : $homepage,
-                          _('URL of the homepage or blog of the group or topic'));
+                          _('URL of the homepage or blog of the group or topic.'));
         $this->out->elementEnd('li');
         $this->out->elementStart('li');
         $desclimit = User_group::maxDescription();
         if ($desclimit == 0) {
             $descinstr = _('Describe the group or topic');
         } else {
-            $descinstr = sprintf(_('Describe the group or topic in %d characters'), $desclimit);
+            $descinstr = sprintf(_m('Describe the group or topic in %d character or less',
+                                    'Describe the group or topic in %d characters or less',
+                                    $desclimit),
+                                 $desclimit);
         }
         $this->out->textarea('description', _('Description'),
                              ($this->out->arg('description')) ? $this->out->arg('description') : $description,
@@ -176,7 +179,7 @@ class GroupEditForm extends Form
         $this->out->elementStart('li');
         $this->out->input('location', _('Location'),
                           ($this->out->arg('location')) ? $this->out->arg('location') : $location,
-                          _('Location for the group, if any, like "City, State (or Region), Country"'));
+                          _('Location for the group, if any, like "City, State (or Region), Country".'));
         $this->out->elementEnd('li');
         if (common_config('group', 'maxaliases') > 0) {
             $aliases = (empty($this->group)) ? array() : $this->group->getAliases();
@@ -184,7 +187,9 @@ class GroupEditForm extends Form
             $this->out->input('aliases', _('Aliases'),
                               ($this->out->arg('aliases')) ? $this->out->arg('aliases') :
                               (!empty($aliases)) ? implode(' ', $aliases) : '',
-                              sprintf(_('Extra nicknames for the group, comma- or space- separated, max %d'),
+                              sprintf(_m('Extra nicknames for the group, separated with commas or spaces. Maximum %d alias allowed.',
+                                         'Extra nicknames for the group, separated with commas or spaces. Maximum %d aliases allowed.',
+                                         common_config('group', 'maxaliases')),
                                       common_config('group', 'maxaliases')));;
             $this->out->elementEnd('li');
         }
@@ -199,6 +204,6 @@ class GroupEditForm extends Form
 
     function formActions()
     {
-        $this->out->submit('submit', _('Save'));
+        $this->out->submit('submit', _m('BUTTON','Save'));
     }
 }
index e4728774103860c9cbc6034f2850d7d86ca2216c..159deead61130a283e306c72c72a0c0469a38aba 100644 (file)
@@ -85,6 +85,8 @@ class ImageFile
             break;
          case UPLOAD_ERR_INI_SIZE:
          case UPLOAD_ERR_FORM_SIZE:
+            // TRANS: Exception thrown when too large a file is uploaded.
+            // TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
             throw new Exception(sprintf(_('That file is too big. The maximum file size is %s.'),
                 ImageFile::maxFileSize()));
             return;
@@ -113,10 +115,46 @@ class ImageFile
         return new ImageFile(null, $_FILES[$param]['tmp_name']);
     }
 
+    /**
+     * Compat interface for old code generating avatar thumbnails...
+     * Saves the scaled file directly into the avatar area.
+     *
+     * @param int $size target width & height -- must be square
+     * @param int $x (default 0) upper-left corner to crop from
+     * @param int $y (default 0) upper-left corner to crop from
+     * @param int $w (default full) width of image area to crop
+     * @param int $h (default full) height of image area to crop
+     * @return string filename
+     */
     function resize($size, $x = 0, $y = 0, $w = null, $h = null)
+    {
+        $targetType = $this->preferredType($this->type);
+        $outname = Avatar::filename($this->id,
+                                    image_type_to_extension($targetType),
+                                    $size,
+                                    common_timestamp());
+        $outpath = Avatar::path($outname);
+        $this->resizeTo($outpath, $size, $size, $x, $y, $w, $h);
+        return $outname;
+    }
+
+    /**
+     * Create and save a thumbnail image.
+     *
+     * @param string $outpath
+     * @param int $width target width
+     * @param int $height target height
+     * @param int $x (default 0) upper-left corner to crop from
+     * @param int $y (default 0) upper-left corner to crop from
+     * @param int $w (default full) width of image area to crop
+     * @param int $h (default full) height of image area to crop
+     * @return string full local filesystem filename
+     */
+    function resizeTo($outpath, $width, $height, $x=0, $y=0, $w=null, $h=null)
     {
         $w = ($w === null) ? $this->width:$w;
         $h = ($h === null) ? $this->height:$h;
+        $targetType = $this->preferredType($this->type);
 
         if (!file_exists($this->filepath)) {
             throw new Exception(_('Lost our file.'));
@@ -124,20 +162,16 @@ class ImageFile
         }
 
         // Don't crop/scale if it isn't necessary
-        if ($size === $this->width
-            && $size === $this->height
+        if ($width === $this->width
+            && $height === $this->height
             && $x === 0
             && $y === 0
             && $w === $this->width
-            && $h === $this->height) {
+            && $h === $this->height
+            && $this->type == $targetType) {
 
-            $outname = Avatar::filename($this->id,
-                                        image_type_to_extension($this->type),
-                                        $size,
-                                        common_timestamp());
-            $outpath = Avatar::path($outname);
             @copy($this->filepath, $outpath);
-            return $outname;
+            return $outpath;
         }
 
         switch ($this->type) {
@@ -164,7 +198,7 @@ class ImageFile
             return;
         }
 
-        $image_dest = imagecreatetruecolor($size, $size);
+        $image_dest = imagecreatetruecolor($width, $height);
 
         if ($this->type == IMAGETYPE_GIF || $this->type == IMAGETYPE_PNG || $this->type == IMAGETYPE_BMP) {
 
@@ -187,30 +221,9 @@ class ImageFile
             }
         }
 
-        imagecopyresampled($image_dest, $image_src, 0, 0, $x, $y, $size, $size, $w, $h);
-
-        if($this->type == IMAGETYPE_BMP) {
-            //we don't want to save BMP... it's an inefficient, rare, antiquated format
-            //save png instead
-            $this->type = IMAGETYPE_PNG;
-        } else if($this->type == IMAGETYPE_WBMP) {
-            //we don't want to save WBMP... it's a rare format that we can't guarantee clients will support
-            //save png instead
-            $this->type = IMAGETYPE_PNG;
-        } else if($this->type == IMAGETYPE_XBM) {
-            //we don't want to save XBM... it's a rare format that we can't guarantee clients will support
-            //save png instead
-            $this->type = IMAGETYPE_PNG;
-        }
-
-        $outname = Avatar::filename($this->id,
-                                    image_type_to_extension($this->type),
-                                    $size,
-                                    common_timestamp());
-
-        $outpath = Avatar::path($outname);
+        imagecopyresampled($image_dest, $image_src, 0, 0, $x, $y, $width, $height, $w, $h);
 
-        switch ($this->type) {
+        switch ($targetType) {
          case IMAGETYPE_GIF:
             imagegif($image_dest, $outpath);
             break;
@@ -228,7 +241,31 @@ class ImageFile
         imagedestroy($image_src);
         imagedestroy($image_dest);
 
-        return $outname;
+        return $outpath;
+    }
+
+    /**
+     * Several obscure file types should be normalized to PNG on resize.
+     *
+     * @param int $type
+     * @return int
+     */
+    function preferredType($type)
+    {
+        if($type == IMAGETYPE_BMP) {
+            //we don't want to save BMP... it's an inefficient, rare, antiquated format
+            //save png instead
+            return IMAGETYPE_PNG;
+        } else if($type == IMAGETYPE_WBMP) {
+            //we don't want to save WBMP... it's a rare format that we can't guarantee clients will support
+            //save png instead
+            return IMAGETYPE_PNG;
+        } else if($type == IMAGETYPE_XBM) {
+            //we don't want to save XBM... it's a rare format that we can't guarantee clients will support
+            //save png instead
+            return IMAGETYPE_PNG;
+        }
+        return $type;
     }
 
     function unlink()
@@ -241,11 +278,16 @@ class ImageFile
         $value = ImageFile::maxFileSizeInt();
 
         if ($value > 1024 * 1024) {
-            return ($value/(1024*1024)) . _('MB');
+            $value = $value/(1024*1024);
+            // TRANS: Number of megabytes. %d is the number.
+            return sprintf(_m('%dMB','%dMB',$value),$value);
         } else if ($value > 1024) {
-            return ($value/(1024)) . _('kB');
+            $value = $value/1024;
+            // TRANS: Number of kilobytes. %d is the number.
+            return sprintf(_m('%dkB','%dkB',$value),$value);
         } else {
-            return $value;
+            // TRANS: Number of bytes. %d is the number.
+            return sprintf(_m('%dB','%dB',$value),$value);
         }
     }
 
diff --git a/lib/inlineattachmentlist.php b/lib/inlineattachmentlist.php
new file mode 100644 (file)
index 0000000..de5008e
--- /dev/null
@@ -0,0 +1,108 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * widget for displaying notice attachments thumbnails
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  UI
+ * @package   StatusNet
+ * @author    Brion Vibber <brion@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+class InlineAttachmentList extends AttachmentList
+{
+    function showListStart()
+    {
+        $this->out->elementStart('div', array('class' => 'entry-content thumbnails'));
+    }
+
+    function showListEnd()
+    {
+        $this->out->elementEnd('div');
+    }
+
+    /**
+     * returns a new list item for the current attachment
+     *
+     * @param File $notice the current attachment
+     *
+     * @return ListItem a list item for displaying the attachment
+     */
+    function newListItem($attachment)
+    {
+        return new InlineAttachmentListItem($attachment, $this->out);
+    }
+}
+
+class InlineAttachmentListItem extends AttachmentListItem
+{
+    function show()
+    {
+        if ($this->attachment->isEnclosure()) {
+            parent::show();
+        }
+    }
+
+    function showLink() {
+        $this->out->elementStart('a', $this->linkAttr());
+        $this->showRepresentation();
+        $this->out->elementEnd('a');
+    }
+
+    /**
+     * Build HTML attributes for the link
+     * @return array
+     */
+    function linkAttr()
+    {
+        $attr = parent::linkAttr();
+        $attr['class'] = 'attachment-thumbnail';
+        return $attr;
+    }
+
+    /**
+     * start a single notice.
+     *
+     * @return void
+     */
+    function showStart()
+    {
+        // XXX: RDFa
+        // TODO: add notice_type class e.g., notice_video, notice_image
+        $this->out->elementStart('span', array('class' => 'inline-attachment'));
+    }
+
+    /**
+     * finish the notice
+     *
+     * Close the last elements in the notice list item
+     *
+     * @return void
+     */
+    function showEnd()
+    {
+        $this->out->elementEnd('span');
+    }
+}
index 30d743848ff98488c69d6d7546e7a3bcfc67d102..dd6a1a366e80ac75126a2040aa20774219151b54 100644 (file)
@@ -593,6 +593,10 @@ function mail_notify_fave($other, $user, $notice)
     }
 
     $profile = $user->getProfile();
+    if ($other->hasBlocked($profile)) {
+        // If the author has blocked us, don't spam them with a notification.
+        return;
+    }
 
     $bestname = $profile->getBestName();
 
index e9ba418399dcad6709fbb2530c6360e609f03ffc..69eb26bdd888654172d326ae779c71dc11b39491 100644 (file)
@@ -57,8 +57,9 @@ class MailHandler
         $msg = $this->cleanup_msg($msg);
         $msg = common_shorten_links($msg);
         if (Notice::contentTooLong($msg)) {
-            $this->error($from, sprintf(_('That\'s too long. '.
-                                          'Max notice size is %d chars.'),
+            $this->error($from, sprintf(_('That\'s too long. Maximum notice size is %d character.',
+                                          'That\'s too long. Maximum notice size is %d characters.',
+                                          Notice::maxContent()),
                                         Notice::maxContent()));
         }
 
index 23338cc0e1165ac9ac63c7403fdd06acd47e9e20..a41d7c76b52d190e066e3b093570b67ad08d1f26 100644 (file)
@@ -48,11 +48,14 @@ class MediaFile
     {
         if ($user == null) {
             $this->user = common_current_user();
+        } else {
+            $this->user = $user;
         }
 
         $this->filename   = $filename;
         $this->mimetype   = $mimetype;
         $this->fileRecord = $this->storeFile();
+        $this->thumbnailRecord = $this->storeThumbnail();
 
         $this->fileurl = common_local_url('attachment',
                                     array('attachment' => $this->fileRecord->id));
@@ -102,6 +105,52 @@ class MediaFile
         return $file;
     }
 
+    /**
+     * Generate and store a thumbnail image for the uploaded file, if applicable.
+     *
+     * @return File_thumbnail or null
+     */
+    function storeThumbnail()
+    {
+        if (substr($this->mimetype, 0, strlen('image/')) != 'image/') {
+            // @fixme video thumbs would be nice!
+            return null;
+        }
+        try {
+            $image = new ImageFile($this->fileRecord->id,
+                                   File::path($this->filename));
+        } catch (Exception $e) {
+            // Unsupported image type.
+            return null;
+        }
+
+        $outname = File::filename($this->user->getProfile(), 'thumb-' . $this->filename, $this->mimetype);
+        $outpath = File::path($outname);
+
+        $maxWidth = common_config('attachments', 'thumb_width');
+        $maxHeight = common_config('attachments', 'thumb_height');
+        list($width, $height) = $this->scaleToFit($image->width, $image->height, $maxWidth, $maxHeight);
+
+        $image->resizeTo($outpath, $width, $height);
+        File_thumbnail::saveThumbnail($this->fileRecord->id,
+                                      File::url($outname),
+                                      $width,
+                                      $height);
+    }
+
+    function scaleToFit($width, $height, $maxWidth, $maxHeight)
+    {
+        $aspect = $maxWidth / $maxHeight;
+        $w1 = $maxWidth;
+        $h1 = intval($height * $maxWidth / $width);
+        if ($h1 > $maxHeight) {
+            $w2 = intval($width * $maxHeight / $height);
+            $h2 = $maxHeight;
+            return array($w2, $h2);
+        }
+        return array($w1, $h1);
+    }
+
     function rememberFile($file, $short)
     {
         $this->maybeAddRedir($file->id, $short);
@@ -278,6 +327,9 @@ class MediaFile
     static function getUploadedFileType($f, $originalFilename=false) {
         require_once 'MIME/Type.php';
         require_once 'MIME/Type/Extension.php';
+
+        // We have to disable auto handling of PEAR errors
+        PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN);
         $mte = new MIME_Type_Extension();
 
         $cmd = &PEAR::getStaticProperty('MIME_Type', 'fileCmd');
@@ -330,6 +382,8 @@ class MediaFile
             }
         }
         if ($supported === true || in_array($filetype, $supported)) {
+            // Restore PEAR error handlers for our DB code...
+            PEAR::staticPopErrorHandling();
             return $filetype;
         }
         $media = MIME_Type::getMedia($filetype);
@@ -344,6 +398,8 @@ class MediaFile
             // TRANS: %s is the file type that was denied.
             $hint = sprintf(_('"%s" is not a supported file type on this server.'), $filetype);
         }
+        // Restore PEAR error handlers for our DB code...
+        PEAR::staticPopErrorHandling();
         throw new ClientException($hint);
     }
 
index df1533980a6ea32194bade727dc69fe74210c156..c6f964662fe73285793d0b782e9f7359b2db512b 100644 (file)
@@ -208,6 +208,7 @@ class NoticeListItem extends Widget
         $this->showStart();
         if (Event::handle('StartShowNoticeItem', array($this))) {
             $this->showNotice();
+            $this->showNoticeAttachments();
             $this->showNoticeInfo();
             $this->showNoticeOptions();
             Event::handle('EndShowNoticeItem', array($this));
@@ -306,7 +307,7 @@ class NoticeListItem extends Widget
         $attrs = array('href' => $this->profile->profileurl,
                        'class' => 'url');
         if (!empty($this->profile->fullname)) {
-            $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ')';
+            $attrs['title'] = $this->profile->getFancyName();
         }
         $this->out->elementStart('a', $attrs);
         $this->showAvatar();
@@ -327,11 +328,8 @@ class NoticeListItem extends Widget
 
     function showAvatar()
     {
-        if ('shownotice' === $this->out->trimmed('action')) {
-            $avatar_size = AVATAR_PROFILE_SIZE;
-        } else {
-            $avatar_size = AVATAR_STREAM_SIZE;
-        }
+       $avatar_size = AVATAR_STREAM_SIZE;
+
         $avatar = $this->profile->getAvatar($avatar_size);
 
         $this->out->element('img', array('src' => ($avatar) ?
@@ -386,6 +384,13 @@ class NoticeListItem extends Widget
         $this->out->elementEnd('p');
     }
 
+    function showNoticeAttachments() {
+        if (common_config('attachments', 'show_thumbs')) {
+            $al = new InlineAttachmentList($this->notice, $this->out);
+            $al->show();
+        }
+    }
+
     /**
      * show the link to the main page for the notice
      *
diff --git a/lib/oembedhelper.php b/lib/oembedhelper.php
new file mode 100644 (file)
index 0000000..84cf105
--- /dev/null
@@ -0,0 +1,318 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008-2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.     If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+
+/**
+ * Utility class to wrap basic oEmbed lookups.
+ *
+ * Blacklisted hosts will use an alternate lookup method:
+ *  - Twitpic
+ *
+ * Whitelisted hosts will use known oEmbed API endpoints:
+ *  - Flickr, YFrog
+ *
+ * Sites that provide discovery links will use them directly; a bug
+ * in use of discovery links with query strings is worked around.
+ *
+ * Others will fall back to oohembed (unless disabled).
+ * The API endpoint can be configured or disabled through config
+ * as 'oohembed'/'endpoint'.
+ */
+class oEmbedHelper
+{
+    protected static $apiMap = array(
+        'flickr.com' => 'http://www.flickr.com/services/oembed/',
+        'yfrog.com' => 'http://www.yfrog.com/api/oembed',
+    );
+    protected static $functionMap = array(
+        'twitpic.com' => 'oEmbedHelper::twitPic',
+    );
+
+    /**
+     * Perform or fake an oEmbed lookup for the given resource.
+     *
+     * Some known hosts are whitelisted with API endpoints where we
+     * know they exist but autodiscovery data isn't available.
+     * If autodiscovery links are missing and we don't recognize the
+     * host, we'll pass it to oohembed.com's public service which
+     * will either proxy or fake info on a lot of sites.
+     *
+     * A few hosts are blacklisted due to known problems with oohembed,
+     * in which case we'll look up the info another way and return
+     * equivalent data.
+     *
+     * Throws exceptions on failure.
+     *
+     * @param string $url
+     * @param array $params
+     * @return object
+     */
+    public static function getObject($url, $params=array())
+    {
+        $host = parse_url($url, PHP_URL_HOST);
+        if (substr($host, 0, 4) == 'www.') {
+            $host = substr($host, 4);
+        }
+
+        // Blacklist: systems with no oEmbed API of their own, which are
+        // either missing from or broken on oohembed.com's proxy.
+        // we know how to look data up in another way...
+        if (array_key_exists($host, self::$functionMap)) {
+            $func = self::$functionMap[$host];
+            return call_user_func($func, $url, $params);
+        }
+
+        // Whitelist: known API endpoints for sites that don't provide discovery...
+        if (array_key_exists($host, self::$apiMap)) {
+            $api = self::$apiMap[$host];
+        } else {
+            try {
+                $api = self::discover($url);
+            } catch (Exception $e) {
+                // Discovery failed... fall back to oohembed if enabled.
+                $oohembed = common_config('oohembed', 'endpoint');
+                if ($oohembed) {
+                    $api = $oohembed;
+                } else {
+                    throw $e;
+                }
+            }
+        }
+        return self::getObjectFrom($api, $url, $params);
+    }
+
+    /**
+     * Perform basic discovery.
+     * @return string
+     */
+    static function discover($url)
+    {
+        // @fixme ideally skip this for non-HTML stuff!
+        $body = self::http($url);
+        return self::discoverFromHTML($url, $body);
+    }
+
+    /**
+     * Partially ripped from OStatus' FeedDiscovery class.
+     *
+     * @param string $url source URL, used to resolve relative links
+     * @param string $body HTML body text
+     * @return mixed string with URL or false if no target found
+     */
+    static function discoverFromHTML($url, $body)
+    {
+        // DOMDocument::loadHTML may throw warnings on unrecognized elements,
+        // and notices on unrecognized namespaces.
+        $old = error_reporting(error_reporting() & ~(E_WARNING | E_NOTICE));
+        $dom = new DOMDocument();
+        $ok = $dom->loadHTML($body);
+        error_reporting($old);
+
+        if (!$ok) {
+            throw new oEmbedHelper_BadHtmlException();
+        }
+
+        // Ok... now on to the links!
+        $feeds = array(
+            'application/json+oembed' => false,
+        );
+
+        $nodes = $dom->getElementsByTagName('link');
+        for ($i = 0; $i < $nodes->length; $i++) {
+            $node = $nodes->item($i);
+            if ($node->hasAttributes()) {
+                $rel = $node->attributes->getNamedItem('rel');
+                $type = $node->attributes->getNamedItem('type');
+                $href = $node->attributes->getNamedItem('href');
+                if ($rel && $type && $href) {
+                    $rel = array_filter(explode(" ", $rel->value));
+                    $type = trim($type->value);
+                    $href = trim($href->value);
+
+                    if (in_array('alternate', $rel) && array_key_exists($type, $feeds) && empty($feeds[$type])) {
+                        // Save the first feed found of each type...
+                        $feeds[$type] = $href;
+                    }
+                }
+            }
+        }
+
+        // Return the highest-priority feed found
+        foreach ($feeds as $type => $url) {
+            if ($url) {
+                return $url;
+            }
+        }
+
+        throw new oEmbedHelper_DiscoveryException();
+    }
+
+    /**
+     * Actually do an oEmbed lookup to a particular API endpoint.
+     *
+     * @param string $api oEmbed API endpoint URL
+     * @param string $url target URL to look up info about
+     * @param array $params
+     * @return object
+     */
+    static function getObjectFrom($api, $url, $params=array())
+    {
+        $params['url'] = $url;
+        $params['format'] = 'json';
+        $data = self::json($api, $params);
+        return self::normalize($data);
+    }
+
+    /**
+     * Normalize oEmbed format.
+     *
+     * @param object $orig
+     * @return object
+     */
+    static function normalize($orig)
+    {
+        $data = clone($orig);
+
+        if (empty($data->type)) {
+            throw new Exception('Invalid oEmbed data: no type field.');
+        }
+
+        if ($data->type == 'image') {
+            // YFrog does this.
+            $data->type = 'photo';
+        }
+
+        if (isset($data->thumbnail_url)) {
+            if (!isset($data->thumbnail_width)) {
+                // !?!?!
+                $data->thumbnail_width = common_config('attachments', 'thumb_width');
+                $data->thumbnail_height = common_config('attachments', 'thumb_height');
+            }
+        }
+
+        return $data;
+    }
+
+    /**
+     * Using a local function for twitpic lookups, as oohembed's adapter
+     * doesn't return a valid result:
+     * http://code.google.com/p/oohembed/issues/detail?id=19
+     *
+     * This code fetches metadata from Twitpic's own API, and attempts
+     * to guess proper thumbnail size from the original's size.
+     *
+     * @todo respect maxwidth and maxheight params
+     *
+     * @param string $url
+     * @param array $params
+     * @return object
+     */
+    static function twitPic($url, $params=array())
+    {
+        $matches = array();
+        if (preg_match('!twitpic\.com/(\w+)!', $url, $matches)) {
+            $id = $matches[1];
+        } else {
+            throw new Exception("Invalid twitpic URL");
+        }
+
+        // Grab metadata from twitpic's API...
+        // http://dev.twitpic.com/docs/2/media_show
+        $data = self::json('http://api.twitpic.com/2/media/show.json',
+                array('id' => $id));
+        $oembed = (object)array('type' => 'photo',
+                                'url' => 'http://twitpic.com/show/full/' . $data->short_id,
+                                'width' => $data->width,
+                                'height' => $data->height);
+        if (!empty($data->message)) {
+            $oembed->title = $data->message;
+        }
+
+        // Thumbnail is cropped and scaled to 150x150 box:
+        // http://dev.twitpic.com/docs/thumbnails/
+        $thumbSize = 150;
+        $oembed->thumbnail_url = 'http://twitpic.com/show/thumb/' . $data->short_id;
+        $oembed->thumbnail_width = $thumbSize;
+        $oembed->thumbnail_height = $thumbSize;
+
+        return $oembed;
+    }
+
+    /**
+     * Fetch some URL and return JSON data.
+     *
+     * @param string $url
+     * @param array $params query-string params
+     * @return object
+     */
+    static protected function json($url, $params=array())
+    {
+        $data = self::http($url, $params);
+        return json_decode($data);
+    }
+
+    /**
+     * Hit some web API and return data on success.
+     * @param string $url
+     * @param array $params
+     * @return string
+     */
+    static protected function http($url, $params=array())
+    {
+        $client = HTTPClient::start();
+        if ($params) {
+            $query = http_build_query($params, null, '&');
+            if (strpos($url, '?') === false) {
+                $url .= '?' . $query;
+            } else {
+                $url .= '&' . $query;
+            }
+        }
+        $response = $client->get($url);
+        if ($response->isOk()) {
+            return $response->getBody();
+        } else {
+            throw new Exception('Bad HTTP response code: ' . $response->getStatus());
+        }
+    }
+}
+
+class oEmbedHelper_Exception extends Exception
+{
+}
+
+class oEmbedHelper_BadHtmlException extends oEmbedHelper_Exception
+{
+    function __construct($previous=null)
+    {
+        return parent::__construct('Bad HTML in discovery data.', 0, $previous);
+    }
+}
+
+class oEmbedHelper_DiscoveryException extends oEmbedHelper_Exception
+{
+    function __construct($previous=null)
+    {
+        return parent::__construct('No oEmbed discovery data.', 0, $previous);
+    }
+}
index 25db5baa92c59ceef572ff67f2536c78425c33c7..1f543b897441195e83df0bcf0b6a6cd3a7d0bbe3 100644 (file)
@@ -87,8 +87,11 @@ class PersonalGroupNav extends Widget
         if ($nickname) {
             $user = User::staticGet('nickname', $nickname);
             $user_profile = $user->getProfile();
+            $name = $user_profile->getBestName();
         } else {
+            // @fixme can this happen? is this valid?
             $user_profile = false;
+            $name = $nickname;
         }
 
         $this->out->elementStart('ul', array('class' => 'nav'));
@@ -97,22 +100,22 @@ class PersonalGroupNav extends Widget
             $this->out->menuItem(common_local_url('all', array('nickname' =>
                                                            $nickname)),
                              _('Personal'),
-                             sprintf(_('%s and friends'), (($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)),
+                             sprintf(_('%s and friends'), $name),
                              $action == 'all', 'nav_timeline_personal');
             $this->out->menuItem(common_local_url('replies', array('nickname' =>
                                                                   $nickname)),
                              _('Replies'),
-                             sprintf(_('Replies to %s'), (($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)),
+                             sprintf(_('Replies to %s'), $name),
                              $action == 'replies', 'nav_timeline_replies');
             $this->out->menuItem(common_local_url('showstream', array('nickname' =>
                                                                   $nickname)),
                              _('Profile'),
-                             ($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname,
+                             $name,
                              $action == 'showstream', 'nav_profile');
             $this->out->menuItem(common_local_url('showfavorites', array('nickname' =>
                                                                   $nickname)),
                              _('Favorites'),
-                             sprintf(_('%s\'s favorite notices'), ($user_profile) ? $user_profile->getBestName() : _('User')),
+                             sprintf(_('%s\'s favorite notices'), ($user_profile) ? $name : _('User')),
                              $action == 'showfavorites', 'nav_timeline_favorites');
 
             $cur = common_current_user();
index abf1c4048edddb5a6c3f1bcbd783d75d9b4c9abe..e1c7c748e280339524aecac58f47e6cd6a26ccb7 100644 (file)
 if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 function ping_broadcast_notice($notice) {
+    if ($notice->is_local != Notice::LOCAL_PUBLIC && $notice->is_local != Notice::LOCAL_NONPUBLIC) {
+        return true;
+    }
 
-       if ($notice->is_local != Notice::LOCAL_PUBLIC && $notice->is_local != Notice::LOCAL_NONPUBLIC) {
-               return true;
-       }
-
-       # Array of servers, URL => type
-       $notify = common_config('ping', 'notify');
+    # Array of servers, URL => type
+    $notify = common_config('ping', 'notify');
     try {
         $profile = $notice->getProfile();
     } catch (Exception $e) {
@@ -35,21 +34,21 @@ function ping_broadcast_notice($notice) {
         common_log(LOG_ERR, "Exception getting notice profile: " . $e->getMessage());
         return true;
     }
-       $tags = ping_notice_tags($notice);
+    $tags = ping_notice_tags($notice);
 
-       foreach ($notify as $notify_url => $type) {
-               switch ($type) {
-                case 'xmlrpc':
-                case 'extended':
-                       $req = xmlrpc_encode_request('weblogUpdates.ping',
-                                                                                array($profile->nickname, # site name
-                                                                                          common_local_url('showstream',
-                                                                                                                               array('nickname' => $profile->nickname)),
-                                                                                          common_local_url('shownotice',
-                                                                                                                               array('notice' => $notice->id)),
-                                                                                          common_local_url('userrss',
-                                                                                                                               array('nickname' => $profile->nickname)),
-                                                                                          $tags));
+    foreach ($notify as $notify_url => $type) {
+        switch ($type) {
+         case 'xmlrpc':
+         case 'extended':
+            $req = xmlrpc_encode_request('weblogUpdates.ping',
+                                         array($profile->nickname, # site name
+                                               common_local_url('showstream',
+                                                                array('nickname' => $profile->nickname)),
+                                               common_local_url('shownotice',
+                                                                array('notice' => $notice->id)),
+                                               common_local_url('userrss',
+                                                                array('nickname' => $profile->nickname)),
+                                               $tags));
 
             $request = HTTPClient::start();
             $request->setConfig('connect_timeout', common_config('ping', 'timeout'));
@@ -79,9 +78,8 @@ function ping_broadcast_notice($notice) {
                            "Ping success for $notify_url $notice->id");
             }
             break;
-
-                case 'get':
-                case 'post':
+         case 'get':
+         case 'post':
             $args = array('name' => $profile->nickname,
                           'url' => common_local_url('showstream',
                                                     array('nickname' => $profile->nickname)),
@@ -108,26 +106,25 @@ function ping_broadcast_notice($notice) {
                            "'$result->body'");
             }
             break;
-
-                default:
-                       common_log(LOG_WARNING, 'Unknown notify type for ' . $notify_url . ': ' . $type);
+         default:
+            common_log(LOG_WARNING, 'Unknown notify type for ' . $notify_url . ': ' . $type);
         }
-       }
+    }
 
     return true;
 }
 
 function ping_notice_tags($notice) {
-       $tag = new Notice_tag();
-       $tag->notice_id = $notice->id;
-       $tags = array();
-       if ($tag->find()) {
-               while ($tag->fetch()) {
-                       $tags[] = $tag->tag;
-               }
-               $tag->free();
-               unset($tag);
-               return implode('|', $tags);
-       }
-       return NULL;
+    $tag = new Notice_tag();
+    $tag->notice_id = $notice->id;
+    $tags = array();
+    if ($tag->find()) {
+        while ($tag->fetch()) {
+            $tags[] = $tag->tag;
+        }
+        $tag->free();
+        unset($tag);
+        return implode('|', $tags);
+    }
+    return NULL;
 }
index 9aaac7dfe39cb8cbc051ed264868a545b3e8fb0f..c0f3bf31d7880cff97dc312a9deff1f82351957f 100644 (file)
@@ -399,12 +399,12 @@ class Router
 
             $m->connect('api/statuses/show.:format',
                         array('action' => 'ApiStatusesShow',
-                              'format' => '(xml|json)'));
+                              'format' => '(xml|json|atom)'));
 
             $m->connect('api/statuses/show/:id.:format',
                         array('action' => 'ApiStatusesShow',
                               'id' => '[0-9]+',
-                              'format' => '(xml|json)'));
+                              'format' => '(xml|json|atom)'));
 
             $m->connect('api/statuses/update.:format',
                         array('action' => 'ApiStatusesUpdate',
@@ -686,6 +686,13 @@ class Router
             $m->connect('api/oauth/authorize',
                         array('action' => 'ApiOauthAuthorize'));
 
+            $m->connect('api/statusnet/app/service/:id.xml',
+                        array('action' => 'ApiAtomService',
+                              'id' => '[a-zA-Z0-9]+'));
+
+            $m->connect('api/statusnet/app/service.xml',
+                        array('action' => 'ApiAtomService'));
+
             // Admin
 
             $m->connect('admin/site', array('action' => 'siteadminpanel'));
index 14c3ed016d15aaeb0bcc4aff664676c20da080f9..6d7f46cd6ee0131b4fcb1cba2fccb25332233b7c 100644 (file)
@@ -70,7 +70,6 @@ class SearchAction extends Action
      * @return void
      * @see SearchGroupNav
      */
-
     function showLocalNav()
     {
         $nav = new SearchGroupNav($this, $this->trimmed('q'));
@@ -127,6 +126,7 @@ class SearchAction extends Action
         // TRANS: Used as a field label for the field where one or more keywords
         // TRANS: for searching can be entered.
         $this->input('q', _('Keyword(s)'), $q);
+        // TRANS: Button text for searching site.
         $this->submit('search', _m('BUTTON','Search'));
         $this->elementEnd('li');
         $this->elementEnd('ul');
@@ -138,7 +138,7 @@ class SearchAction extends Action
     }
 
     function searchSuggestions($q) {
-        // @todo FIXME: This formatting does not make this string get picked up by gettext.
+        // @todo FIXME: i18n issue: This formatting does not make this string get picked up by gettext.
             // TRANS: Standard search suggestions shown when a search does not give any results.
         $message = _(<<<E_O_T
 * Make sure all words are spelled correctly.
@@ -150,7 +150,7 @@ E_O_T
 );
         if (!common_config('site', 'private')) {
             $qe = urlencode($q);
-            // @todo FIXME: This formatting does not make this string get picked up by gettext.
+            // @todo FIXME: i18n issue: This formatting does not make this string get picked up by gettext.
             // TRANS: Standard search suggestions shown when a search does not give any results.
             $message .= sprintf(_(<<<E_O_T
 
index 33bf32b10e2a59f962cb06a72312f49054ff4a66..85b46bbb3fed09904a31878c5f91caa01f5fd495 100644 (file)
@@ -377,7 +377,11 @@ class StatusNet
     static function isHTTPS()
     {
         // There are some exceptions to this; add them here!
-        return !empty($_SERVER['HTTPS']);
+        if(empty($_SERVER['HTTPS'])) {
+            return false;
+        } else {
+            return $_SERVER['HTTPS'] !== 'off';
+        }
     }
 }
 
index 95b7c1de4b584982ea4f4841962e27299a3581f9..5caa046c208c05d13f6b4b6d37e913042608d545 100644 (file)
@@ -51,7 +51,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class Theme
 {
     var $name = null;
@@ -65,14 +64,14 @@ class Theme
      *
      * @param string $name Name of the theme; defaults to config value
      */
-
     function __construct($name=null)
     {
         if (empty($name)) {
             $name = common_config('site', 'theme');
         }
         if (!self::validName($name)) {
-            throw new ServerException("Invalid theme name.");
+            // TRANS: Server exception displayed if a theme name was invalid.
+            throw new ServerException(_('Invalid theme name.'));
         }
         $this->name = $name;
 
@@ -95,7 +94,6 @@ class Theme
         $fulldir = $instroot.'/'.$name;
 
         if (file_exists($fulldir) && is_dir($fulldir)) {
-
             $this->dir = $fulldir;
             $this->path = $this->relativeThemePath('theme', 'theme', $name);
         }
@@ -113,11 +111,9 @@ class Theme
      *
      * @todo consolidate code with that for other customizable paths
      */
-
     protected function relativeThemePath($group, $fallbackSubdir, $name)
     {
         if (StatusNet::isHTTPS()) {
-
             $sslserver = common_config($group, 'sslserver');
 
             if (empty($sslserver)) {
@@ -140,9 +136,7 @@ class Theme
             }
 
             $protocol = 'https';
-
         } else {
-
             $path = common_config($group, 'path');
 
             if (empty($path)) {
@@ -179,7 +173,6 @@ class Theme
      *
      * @return string full pathname, like /var/www/mublog/theme/default/logo.png
      */
-
     function getFile($relative)
     {
         return $this->dir.'/'.$relative;
@@ -192,7 +185,6 @@ class Theme
      *
      * @return string full URL, like 'http://example.com/theme/default/logo.png'
      */
-
     function getPath($relative)
     {
         return $this->path.'/'.$relative;
@@ -258,7 +250,6 @@ class Theme
      *
      * @return string File path to the theme file
      */
-
     static function file($relative, $name=null)
     {
         $theme = new Theme($name);
@@ -273,7 +264,6 @@ class Theme
      *
      * @return string URL of the file
      */
-
     static function path($relative, $name=null)
     {
         $theme = new Theme($name);
@@ -285,7 +275,6 @@ class Theme
      *
      * @return array list of available theme names
      */
-
     static function listAvailable()
     {
         $local   = self::subdirsOf(self::localRoot());
@@ -305,7 +294,6 @@ class Theme
      *
      * @return array relative filenames of subdirs, or empty array
      */
-
     protected static function subdirsOf($dir)
     {
         $subdirs = array();
@@ -330,7 +318,6 @@ class Theme
      *
      * @return string local root dir for themes
      */
-
     protected static function localRoot()
     {
         $basedir = common_config('local', 'dir');
@@ -347,7 +334,6 @@ class Theme
      *
      * @return string root dir for StatusNet themes
      */
-
     protected static function installRoot()
     {
         $instroot = common_config('theme', 'dir');
index 5a48e884ed3e9517f305e45ca852607b1c2d0479..b7b14d7b9eb6d1a7e9fc6fd0cce43ca14e21c734 100644 (file)
@@ -163,9 +163,10 @@ class ThemeUploader
             $estSize = $blockSize * max(1, intval(ceil($size / $blockSize)));
             $totalSize += $estSize;
             if ($totalSize > $sizeLimit) {
-                $msg = sprintf(_("Uploaded theme is too large; " .
-                                 "must be less than %d bytes uncompressed."),
-                                 $sizeLimit);
+                $msg = sprintf(_m('Uploaded theme is too large; must be less than %d byte uncompressed.',
+                                  'Uploaded theme is too large; must be less than %d bytes uncompressed.',
+                                  $sizeLimit),
+                               $sizeLimit);
                 throw new ClientException($msg);
             }
 
index 2777817684abb48f7d13b378e6a2ea9e7849a6ab..26d6a72d896c378a72315eadd0c98f71fdefb475 100644 (file)
@@ -51,7 +51,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 abstract class UAPPlugin extends Plugin
 {
     public $mediumRectangle = null;
@@ -66,7 +65,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-
     function onEndShowStatusNetStyles($action)
     {
         // XXX: allow override by theme
@@ -81,7 +79,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-
     function onStartShowAside($action)
     {
         if (!is_null($this->mediumRectangle)) {
@@ -144,7 +141,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-
     function onStartShowSections($action)
     {
         if (!is_null($this->rectangle)) {
@@ -165,7 +161,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return boolean hook flag
      */
-
     function onEndShowAside($action)
     {
         if (!is_null($this->wideSkyscraper)) {
@@ -187,7 +182,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return void
      */
-
     abstract protected function showMediumRectangle($action);
 
     /**
@@ -197,7 +191,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return void
      */
-
     abstract protected function showRectangle($action);
 
     /**
@@ -207,7 +200,6 @@ abstract class UAPPlugin extends Plugin
      *
      * @return void
      */
-
     abstract protected function showWideSkyscraper($action);
 
     /**
@@ -217,6 +209,5 @@ abstract class UAPPlugin extends Plugin
      *
      * @return void
      */
-
     abstract protected function showLeaderboard($action);
 }
index b89d7ff78d226c2903080f025b98ce80c633cfd8..8daad3c92bf479d709a557848f66608756c893ac 100644 (file)
@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
  *
  * @see      BlockForm
  */
-
 class UnblockForm extends ProfileActionForm
 {
     /**
@@ -52,7 +51,6 @@ class UnblockForm extends ProfileActionForm
      *
      * @return string Name of the action, lowercased.
      */
-
     function target()
     {
         return 'unblock';
@@ -63,11 +61,10 @@ class UnblockForm extends ProfileActionForm
      *
      * @return string Title of the form, internationalized
      */
-
     function title()
     {
         // TRANS: Title for the form to unblock a user.
-        return _('Unblock');
+        return _m('TITLE','Unblock');
     }
 
     /**
@@ -75,7 +72,6 @@ class UnblockForm extends ProfileActionForm
      *
      * @return string description of the form, internationalized
      */
-
     function description()
     {
         // TRANS: Description of the form to unblock a user.
index d50fa2081432246d91eab3f7c196b5a0c81ea443..e6b62f750f18adb9dee887247cf0c8714fdc3469 100644 (file)
@@ -877,7 +877,7 @@ function common_linkify($url) {
     }
 
     if (!empty($f)) {
-        if ($f->getEnclosure() || File_oembed::staticGet('file_id',$f->id)) {
+        if ($f->getEnclosure()) {
             $is_attachment = true;
             $attachment_id = $f->id;
 
@@ -1010,7 +1010,7 @@ function common_group_link($sender_id, $nickname)
         $attrs = array('href' => $group->permalink(),
                        'class' => 'url');
         if (!empty($group->fullname)) {
-            $attrs['title'] = $group->fullname . ' (' . $group->nickname . ')';
+            $attrs['title'] = $group->getFancyName();
         }
         $xs = new XMLStringer();
         $xs->elementStart('span', 'vcard');
index 446e35ccafdd331fa40d37ebf3ede7df2cb1f485..2c8d9e4accae75a9a5a02b7505b94ab23dd6469e 100644 (file)
@@ -9,17 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:42+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:02+0000\n"
 "Language-Team: Afrikaans <http://translatewiki.net/wiki/Portal:af>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: af\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -76,15 +76,22 @@ msgstr "Stoor toegangsinstellings"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Stoor"
@@ -115,6 +122,7 @@ msgstr "Hierdie bladsy bestaan nie."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -127,14 +135,14 @@ msgstr "Hierdie bladsy bestaan nie."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Onbekende gebruiker."
@@ -151,7 +159,7 @@ msgstr "%1$s en vriende, bladsy %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s en vriende"
@@ -203,7 +211,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -299,11 +309,12 @@ msgstr "Kon nie die gebruiker opdateer nie."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -316,11 +327,13 @@ msgstr "Kon nie die profiel stoor nie."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -496,9 +509,11 @@ msgstr "Kon nie die gebruiker opdateer nie."
 msgid "Could not find target user."
 msgstr "Kon nie die gebruiker opdateer nie."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -506,35 +521,43 @@ msgstr ""
 "spasies bevat nie."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Die gebruikersnaam is reeds in gebruik. Kies 'n ander een."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Nie 'n geldige gebruikersnaam nie."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Tuisblad is nie 'n geldige URL nie."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -543,10 +566,14 @@ msgstr "Volledige naam is te lang (maksimum 255 karakters)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -554,9 +581,11 @@ msgstr[0] "Die beskrywing is te lank (die maksimum is %d karakters)."
 msgstr[1] "Die beskrywing is te lank (die maksimum is %d karakters)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -564,7 +593,12 @@ msgstr "Ligging is te lank is (maksimum 255 karakters)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -580,15 +614,19 @@ msgstr "Ongeldige alias: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Die alias \"%s\" word al reeds gebruik. Probeer 'n ander een."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Die alias kan nie dieselfde as die gebruikersnaam wees nie."
 
@@ -694,21 +732,21 @@ msgid "Request token already authorized."
 msgstr ""
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -723,17 +761,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr ""
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Die vorm is onverwags ingestuur."
 
@@ -777,9 +817,10 @@ msgstr "Gebruiker"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -873,20 +914,21 @@ msgstr "U mag nie 'n ander gebruiker se status verwyder nie."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Die kennisgewing bestaan nie."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "U kan nie u eie kennisgewings herhaal nie."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "U het reeds die kennisgewing herhaal."
 
@@ -907,7 +949,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -922,7 +965,7 @@ msgstr "Die API-funksie is nie gevind nie."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1029,105 +1072,140 @@ msgstr "Die API-funksie is nie gevind nie."
 msgid "User not found."
 msgstr "Die API-funksie is nie gevind nie."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Die aanhangsel bestaan nie."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Geen gebruikersnaam nie."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Geen grootte nie."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ongeldige grootte."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 #, fuzzy
 msgid "User without matching profile."
 msgstr "Hierdie gebruiker het nie 'n profiel nie."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatar-instellings"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Oorspronklik"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Voorskou"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Skrap"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Oplaai"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Uitsny"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Geen lêer opgelaai nie."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Die avatar is opgedateer."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Die opdatering van die avatar het gefaal."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Die avatar is verwyder."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "U het reeds die gebruiker geblokkeer."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Blokkeer gebruiker"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1140,8 +1218,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1149,7 +1227,7 @@ msgstr "Nee"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Moenie hierdie gebruiker blokkeer nie"
 
@@ -1159,8 +1237,8 @@ msgstr "Moenie hierdie gebruiker blokkeer nie"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1168,144 +1246,174 @@ msgstr "Ja"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Blokkeer hierdie gebruiker"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr ""
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Die groep bestaan nie."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, fuzzy, php-format
 msgid "%s blocked profiles"
 msgstr "%s geblokkeerde gebruikers"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, fuzzy, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s en vriende, bladsy %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "Blok hierdie gebruiker van hierdie groep"
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Gee gebruiker weer toegang tot die groep"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Deblokkeer"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Deblokkeer hierdie gebruiker"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "groepe op %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Geen bevestigingskode."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 #, fuzzy
 msgid "Confirmation code not found."
 msgstr "Geen bevestigingskode."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 #, fuzzy
 msgid "That confirmation code is not for you!"
 msgstr "Geen bevestigingskode."
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr ""
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 #, fuzzy
 msgid "That address has already been confirmed."
 msgstr "Die E-posadres bestaan reeds."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Kon nie gebruiker opdateer nie."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Kon nie e-posbevestiging verwyder nie."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Bevestig adres"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr ""
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Gesprek"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Kennisgewings"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "U moet aangeteken alvorens u 'n aansoek kan skrap."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Die applikasie is nie gevind nie."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "U is nie die eienaar van hierdie applikasie nie."
@@ -1313,15 +1421,18 @@ msgstr "U is nie die eienaar van hierdie applikasie nie."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Skrap applikasie"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1329,12 +1440,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Moenie die applikasie verwyder nie"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Skrap hierdie applikasie"
 
@@ -1370,13 +1481,14 @@ msgstr "Dit was nie moontlik om die groep by te werk nie."
 msgid "Deleted group %s"
 msgstr "%1$s het die groep %2$s verlaat"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Verwyder gebruiker"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1396,42 +1508,50 @@ msgstr "Moenie hierdie kennisgewing verwyder nie"
 msgid "Delete this group"
 msgstr "Verwyder die gebruiker"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Nie aangeteken nie."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Hierdie kennisgewing kan nie verwyder word nie."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Verwyder kennisgewing"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Is u seker u wil hierdie kennisgewing verwyder?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Moenie hierdie kennisgewing verwyder nie"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Verwyder hierdie kennisgewing"
 
@@ -1516,12 +1636,14 @@ msgstr "Werf se tema"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Verander die agtergrond-prent"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Agtergrond"
 
@@ -1533,42 +1655,50 @@ msgid ""
 msgstr ""
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Aan"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Af"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 #, fuzzy
 msgid "Turn background image on or off."
 msgstr "Verander die agtergrond-prent"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "Verander die agtergrond-prent"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Verander kleure"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Inhoud"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Kantstrook"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Text"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Skakels"
 
@@ -1580,30 +1710,32 @@ msgstr "Gevorderd"
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Gebruik verstekwaardes"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 #, fuzzy
 msgid "Restore default designs"
 msgstr "Gebruik verstekwaardes"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Stel terug na standaard"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Stoor"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Stoor ontwerp"
 
@@ -1648,9 +1780,9 @@ msgid "Name is required."
 msgstr "'n Naam is verpligtend."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Die naam is te lank (maksimum 255 karakters)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1679,7 +1811,7 @@ msgid "Organization is required."
 msgstr "Organisasie is verpligtend."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Die organisasienaam is te lang (maksimum 255 karakters)."
@@ -1703,49 +1835,49 @@ msgstr "Die \"callback\"-URL is nie geldig nie."
 msgid "Could not update application."
 msgstr "Dit was nie moontlik om die applikasie by te werk nie."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Groep %s wysig"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "U moet aangeteken wees alvorens u 'n groep kan skep."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "U moet 'n administrateur wees alvorens u 'n groep kan wysig."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Gebruik hierdie vorm om die groep te wysig."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Die beskrywing is te lank (die maksimum is %d karakters)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Te veel aliasse! Die maksimum aantal is %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ongeldige alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Dit was nie moontlik om die groep by te werk nie."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Dit was nie moontlik om die aliasse te skep nie."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Opsies is gestoor."
 
@@ -1937,6 +2069,12 @@ msgstr "Geen bevestigingskode."
 msgid "That is the wrong email address."
 msgstr "Dit is die verkeerde IM-adres."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Kon nie e-posbevestiging verwyder nie."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2017,7 +2155,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s se gunsteling kennisgewings"
@@ -2119,19 +2257,23 @@ msgstr "Jy kan nie gebruikers op hierdie webwerf stilmaak nie."
 msgid "User already has this role."
 msgstr "Hierdie gebruiker is reeds stilgemaak."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Geen profiel verskaf nie."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Daar is geen profiel met daardie ID nie."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Geen groep verskaf nie."
@@ -2198,8 +2340,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 #, fuzzy
 msgid "Couldn't update your design."
 msgstr "Dit was nie moontlik om u ontwerp by te werk nie."
@@ -2219,6 +2363,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr ""
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Oplaai"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Uitsny"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2353,16 +2505,19 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 #, fuzzy
 msgid "User is not blocked from group."
 msgstr "Gee gebruiker weer toegang tot die groep"
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr ""
 
@@ -2444,7 +2599,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr ""
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Voorkeure is gestoor."
 
@@ -2565,10 +2720,9 @@ msgstr[1] "U volg hierdie gebruiker:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2719,8 +2873,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Ligging is te lank is (maksimum 255 karakters)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2891,28 +3046,20 @@ msgstr "U moet aangeteken wees alvorens u 'n applikasie kan wysig."
 msgid "Use this form to register a new application."
 msgstr "Gebruik die vorm om u applikasie te wysig."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Die naam is te lank (maksimum 255 karakters)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "'n Bron-URL is verpligtend."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Die organisasienaam is te lang (maksimum 255 karakters)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Dit was nie moontlik om die applikasie te skep nie."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nuwe groep"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 #, fuzzy
 msgid "Use this form to create a new group."
@@ -2923,14 +3070,14 @@ msgid "New message"
 msgstr "Nuwe boodskap"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "U kan nie 'n boodskap aan hierdie gebruiker stuur nie."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Geen inhoud nie!"
 
@@ -2939,7 +3086,7 @@ msgid "No recipient specified."
 msgstr "Geen ontvanger gespesifiseer nie."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2950,12 +3097,12 @@ msgstr "Boodskap is gestuur."
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "Direkte boodskappe aan %s"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax-fout"
 
@@ -2964,17 +3111,7 @@ msgstr "Ajax-fout"
 msgid "New notice"
 msgstr "Geen kennisgewing."
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Die kennisgewing is te lank. Gebruik maksimum %d karakters."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 #, fuzzy
 msgid "Notice posted"
 msgstr "Hierdie kennisgewing is verwyder."
@@ -3109,25 +3246,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Hierdie gebruiker het nie 'n profiel nie."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Status van %1$s op %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr ""
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 #, fuzzy
 msgid "Not a supported data format."
@@ -3142,39 +3279,48 @@ msgstr "Mense soek"
 msgid "Notice Search"
 msgstr "Mense soek"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 #, fuzzy
 msgid "Other settings"
 msgstr "Avatar-instellings"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr ""
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
-msgstr "(gratis diens)"
+msgstr " (gratis diens)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr ""
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 #, fuzzy
 msgid "View profile designs"
 msgstr "Wysig profiel-instellings"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
 #, fuzzy
-msgid "URL shortening service is too long (max 50 chars)."
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Ligging is te lank is (maksimum 255 karakters)."
 
 #: actions/otp.php:69
@@ -3616,8 +3762,9 @@ msgstr ""
 "spasies bevat nie."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Volledige naam"
@@ -3656,9 +3803,10 @@ msgid "Bio"
 msgstr "Bio"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Ligging"
@@ -4001,7 +4149,7 @@ msgstr "Die vorm is onverwags ingestuur."
 
 #: actions/recoverpassword.php:365
 #, fuzzy
-msgid "Password must be 6 chars or more."
+msgid "Password must be 6 characters or more."
 msgstr "Wagwoord moet 6 of meer karakters bevat."
 
 #: actions/recoverpassword.php:369
@@ -4225,7 +4373,7 @@ msgid "Repeated!"
 msgstr "Herhaal!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, fuzzy, php-format
 msgid "Replies to %s"
 msgstr "Herhalings van %s"
@@ -4361,11 +4509,12 @@ msgstr "Organisasie"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Beskrywing"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistieke"
@@ -4384,6 +4533,11 @@ msgstr "Die applikasie is nie gevind nie."
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Skrap"
+
 #: actions/showapplication.php:261
 #, fuzzy
 msgid "Application info"
@@ -4471,77 +4625,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s groep"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Groep %1$s, bladsy %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Groepsprofiel"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Nota"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliasse"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Groepsaksies"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, fuzzy, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Voer vir vriende van %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, fuzzy, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Voer vir vriende van %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, fuzzy, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Voer vir vriende van %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Vriend van 'n vriend vir die groep %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Lede"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(geen)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Alle lede"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Geskep"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Lede"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4551,7 +4734,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4560,24 +4746,31 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administrateurs"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Die boodskap bestaan nie."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, fuzzy, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Opdaterings van %1$s op %2$s."
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, fuzzy, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Opdaterings van %1$s op %2$s."
@@ -4586,62 +4779,86 @@ msgstr "Opdaterings van %1$s op %2$s."
 msgid "Notice deleted."
 msgstr "Hierdie kennisgewing is verwyder."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "met die etiket %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, bladsy %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s, bladsy %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, bladsy %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, fuzzy, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Voer vir vriende van %s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, fuzzy, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Voer vir vriende van %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, fuzzy, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Voer vir vriende van %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, fuzzy, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Voer vir vriende van %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "Vriend van 'n vriend (FOAF) vir %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, fuzzy, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 "Hierdie is die tydslyn vir %s en vriende, maar niemand het nog iets gepos "
 "nie."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4650,7 +4867,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4658,7 +4877,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Herhaling van %s"
@@ -4772,35 +4992,42 @@ msgstr "Duplikaatlimiet"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 #, fuzzy
 msgid "Site Notice"
 msgstr "Kennisgewings"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Nuwe boodskap"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Dit was nie moontlik om u ontwerp-instellings te stoor nie."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "Verwyder kennisgewing"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "Verwyder kennisgewing"
@@ -5025,13 +5252,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Stoor toegangsinstellings"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "U volg hierdie gebruiker:"
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 #, fuzzy
 msgid "Could not save subscription."
 msgstr "Kon nie die profiel stoor nie."
@@ -5263,80 +5492,96 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Gebruiker"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profiel"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Profiellimiet"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nuwe gebruikers"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 #, fuzzy
 msgid "New user welcome"
 msgstr "Nuwe gebruikers"
 
-#: actions/useradminpanel.php:237
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
 #, fuzzy
-msgid "Welcome text for new users (Max 255 chars)."
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Die naam is te lank (maksimum 255 karakters)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Beskrywing"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr "Jy kan nie gebruikers op hierdie webwerf stilmaak nie."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Uitnodigings"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 #, fuzzy
 msgid "Invitations enabled"
 msgstr "Uitnodigings"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5439,12 +5684,14 @@ msgstr "Kan nie die avatar-URL \"%s\" lees nie."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Kan nie die avatar-URL \"%s\" lees nie."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Profiel"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5529,7 +5776,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Weergawe"
 
@@ -5563,29 +5810,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "Ongeldige grootte."
@@ -5718,39 +5974,46 @@ msgid "Problem saving notice."
 msgstr ""
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr ""
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Kon nie die profiel stoor nie."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5829,34 +6092,34 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Welkom by %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Kon nie die groep skep nie."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 #, fuzzy
 msgid "Could not set group URI."
 msgstr "Kon nie die groep skep nie."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 #, fuzzy
 msgid "Could not set group membership."
 msgstr "Kon nie die groep skep nie."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "Kon nie die profiel stoor nie."
@@ -5908,200 +6171,207 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr ""
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Persoonlik"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Verander u wagwoord"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Gebruiker"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Konnekteer"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Beheer"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Uitnodig"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Meld by die webwerf aan"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Teken uit"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Skep 'n gebruiker"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registreer"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Meld by die webwerf aan"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Teken in"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Help my!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Help"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Soek na mense of teks"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Soek"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 #, fuzzy
 msgid "Site notice"
 msgstr "Verwyder kennisgewing"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 #, fuzzy
 msgid "Local views"
 msgstr "Lokaal"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 #, fuzzy
 msgid "Page notice"
 msgstr "Populêre kennisgewings"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Help"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Aangaande"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Gewilde vrae"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Gebruiksvoorwaardes"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privaatheid"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Bron"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontak"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 #, fuzzy
 msgid "Badge"
 msgstr "Aanpor"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr ""
 
@@ -6109,7 +6379,7 @@ msgstr ""
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6117,7 +6387,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr ""
@@ -6126,7 +6396,7 @@ msgstr ""
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6135,51 +6405,51 @@ msgid ""
 msgstr ""
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 #, fuzzy
 msgid "Pagination"
 msgstr "Registratie"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Na"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Voor"
 
@@ -6264,7 +6534,7 @@ msgid "User configuration"
 msgstr "SMS-bevestiging"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Gebruiker"
 
@@ -6541,7 +6811,7 @@ msgid "AJAX error"
 msgstr "Ajax-fout"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Opdrag voltooi"
 
@@ -6558,7 +6828,7 @@ msgstr ""
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr ""
 
@@ -6624,6 +6894,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6661,134 +6939,144 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Boodskap is te lank. Die maksimum is %1$d karakters. U het %2$d karakters "
+"gestuur."
+msgstr[1] ""
 "Boodskap is te lank. Die maksimum is %1$d karakters. U het %2$d karakters "
 "gestuur."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr ""
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr ""
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 #, fuzzy
 msgid "Error repeating notice."
 msgstr "U kan nie u eie kennisgewings herhaal nie."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Boodskap is te lank. Die maksimum is %1$d karakters. U het %2$d karakters "
+"gestuur."
+msgstr[1] ""
+"Boodskap is te lank. Die maksimum is %1$d karakters. U het %2$d karakters "
+"gestuur."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr ""
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Fout tydens stoor van gebruiker; ongeldig."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 #, fuzzy
 msgid "Command not yet implemented."
 msgstr "Opdrag voltooi"
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 #, fuzzy
 msgid "Notification off."
 msgstr "Geen bevestigingskode."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 #, fuzzy
 msgid "Notification on."
 msgstr "Geen bevestigingskode."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 #, fuzzy
 msgid "Can't turn on notification."
 msgstr "U kan nie u eie kennisgewings herhaal nie."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "U volg hierdie gebruiker:"
@@ -6796,7 +7084,7 @@ msgstr "U volg hierdie gebruiker:"
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "U volg hierdie gebruiker:"
@@ -6804,7 +7092,7 @@ msgstr[1] "U volg hierdie gebruikers:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Hierdie gebruiker volg u:"
@@ -6812,7 +7100,7 @@ msgstr "Hierdie gebruiker volg u:"
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Hierdie gebruiker volg u:"
@@ -6820,21 +7108,21 @@ msgstr[1] "Hierdie gebruikers volg u:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "U is nie 'n lid van enige groep nie."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "U is 'n lid van hierdie groep:"
 msgstr[1] "U is 'n lid van hierdie groepe:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6940,24 +7228,42 @@ msgstr "Skrap applikasie"
 msgid "Database error"
 msgstr "Databasisfout"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 #, fuzzy
 msgid "Upload file"
 msgstr "Oplaai"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Aan"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Af"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Herstel"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -6987,7 +7293,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Vriende van vriende (FOAF)"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7028,27 +7335,36 @@ msgstr ""
 "spasies bevat nie."
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
-msgstr ""
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
+msgstr "U is nie die eienaar van hierdie applikasie nie."
 
 #: lib/groupeditform.php:168
 msgid "Describe the group or topic"
 msgstr ""
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr ""
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Skrap applikasie"
+msgstr[1] "Skrap applikasie"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7150,41 +7466,59 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "Nie-ondersteunde formaat."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Die kennisgewing is te lank. Gebruik maksimum %d karakters."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 #, fuzzy
 msgid "Partial upload."
 msgstr "Geen lêer opgelaai nie."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr ""
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 #, fuzzy
 msgid "Lost our file."
 msgstr "Die lêer bestaan nie."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Onbekende lêertipe"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7378,7 +7712,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "Hierdie kennisgewing is nie 'n gunsteling nie!"
@@ -7388,7 +7722,7 @@ msgstr "Hierdie kennisgewing is nie 'n gunsteling nie!"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7410,7 +7744,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7420,7 +7754,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7431,7 +7765,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7488,7 +7822,7 @@ msgstr "Jammer, dit is nie u inkomende e-posadres nie."
 msgid "Sorry, no incoming email allowed."
 msgstr "Jammer, inkomende e-pos word nie toegelaat nie."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Nie-ondersteunde formaat."
@@ -7552,7 +7886,7 @@ msgstr ""
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7561,7 +7895,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7708,31 +8042,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Kon nie e-posbevestiging verwyder nie."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Persoonlik"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Antwoorde"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Gunstelinge"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "U inkomende boodskappe"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 #, fuzzy
 msgid "Your sent messages"
 msgstr "U inkomende boodskappe"
@@ -7847,17 +8181,18 @@ msgid "Sandbox this user"
 msgstr "Deblokkeer hierdie gebruiker"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 #, fuzzy
 msgid "Search site"
 msgstr "Soek"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Term(e)"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7940,6 +8275,12 @@ msgstr ""
 msgid "None"
 msgstr "Geen"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ongeldige grootte."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7949,8 +8290,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Die opdatering van die avatar het gefaal."
@@ -7961,29 +8302,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 #, fuzzy
 msgid "Error opening theme archive."
 msgstr "Kon nie die profiel stoor nie."
@@ -7992,6 +8336,13 @@ msgstr "Kon nie die profiel stoor nie."
 msgid "Top posters"
 msgstr "Mees aktiewe gebruikers"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Deblokkeer"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8167,17 +8518,22 @@ msgstr[1] ""
 "Boodskap is te lank. Die maksimum is %1$d karakters. U het %2$d karakters "
 "gestuur."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Geen groep verskaf nie."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 005a5dc820b1c5fefb30d12e134149318ca4798d..890b9882617917469aca63329ce1fcd7675cf7db 100644 (file)
@@ -11,19 +11,19 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:44+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:04+0000\n"
 "Language-Team: Arabic <http://translatewiki.net/wiki/Portal:ar>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ar\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ( (n == 1) ? 1 : ( (n == "
 "2) ? 2 : ( (n%100 >= 3 && n%100 <= 10) ? 3 : ( (n%100 >= 11 && n%100 <= "
 "99) ? 4 : 5 ) ) ) );\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -80,15 +80,22 @@ msgstr "حفظ إعدادت الوصول"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "احفظ"
@@ -119,6 +126,7 @@ msgstr "لا صفحة كهذه."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -131,14 +139,14 @@ msgstr "لا صفحة كهذه."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "لا مستخدم كهذا."
@@ -155,7 +163,7 @@ msgstr "%1$s والأصدقاء, الصفحة %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s والأصدقاء"
@@ -205,7 +213,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, fuzzy, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -303,11 +313,12 @@ msgstr "تعذّر تحديث المستخدم."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -320,11 +331,13 @@ msgstr "لم يمكن حفظ الملف."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -505,44 +518,54 @@ msgstr "تعذّر تحديد المستخدم المصدر."
 msgid "Could not find target user."
 msgstr "تعذّر إيجاد المستخدم الهدف."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 #, fuzzy
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "1-64 حرفًا إنجليزيًا أو رقمًا بدون نقاط أو مسافات"
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "الاسم المستعار مستخدم بالفعل. جرّب اسمًا آخرًا."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "ليس اسمًا مستعارًا صحيحًا."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "الصفحة الرئيسية ليست عنونًا صالحًا."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -551,10 +574,14 @@ msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -566,9 +593,11 @@ msgstr[4] "المنظمة طويلة جدا (الأقصى %d حرفا)."
 msgstr[5] "المنظمة طويلة جدا (الأقصى %d حرفا)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -576,7 +605,12 @@ msgstr "المنظمة طويلة جدا (الأقصى 255 حرفا)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -596,15 +630,19 @@ msgstr "كنية غير صالحة: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, fuzzy, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "الاسم المستعار مستخدم بالفعل. جرّب اسمًا آخرًا."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -713,21 +751,21 @@ msgid "Request token already authorized."
 msgstr "لا تملك تصريحًا."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -743,17 +781,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "خطأ في قاعدة البيانات أثناء حذف مستخدم تطبيق OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr ""
 
@@ -797,9 +837,10 @@ msgstr "الحساب"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -894,20 +935,21 @@ msgstr "لا يمكنك حذف المستخدمين."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "لا إشعار كهذا."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "لا يمكنك تكرار ملحوظتك الخاصة."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "كرر بالفعل هذه الملاحظة."
 
@@ -928,7 +970,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -947,7 +990,7 @@ msgstr "لم يتم العثور على وسيلة API."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1057,105 +1100,139 @@ msgstr "لم يتم العثور على وسيلة API."
 msgid "User not found."
 msgstr "لم يُعثرعلى المستخدم."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "لا مرفق كهذا."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "لا اسم مستعار."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "لا حجم."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "حجم غير صالح."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "أفتار"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "بإمكانك رفع أفتارك الشخصي. أقصى حجم للملف هو %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "المستخدم بدون ملف مطابق."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "إعدادات الأفتار"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "الأصل"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "معاينة"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "احذف"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "ارفع"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
 #, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "مجموعات"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "لم يُرفع ملف."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "رُفع الأفتار."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "فشل تحديث الأفتار."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "حُذف الأفتار."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "لقد منعت مسبقا هذا المستخدم."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "امنع المستخدم"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1168,8 +1245,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1177,7 +1254,7 @@ msgstr "لا"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "لا تمنع هذا المستخدم"
 
@@ -1187,8 +1264,8 @@ msgstr "لا تمنع هذا المستخدم"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1196,142 +1273,172 @@ msgstr "نعم"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "امنع هذا المستخدم"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "فشل حفظ معلومات المنع."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "لا مجموعة كهذه."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, fuzzy, php-format
 msgid "%s blocked profiles"
 msgstr "%1$s ملفات ممنوعة, الصفحة %2$d"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s ملفات ممنوعة, الصفحة %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "قائمة بمستخدمي هذه المجموعة."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "ألغ منع المستخدم من المجموعة"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "ألغِ المنع"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "ألغِ منع هذا المستخدم"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "أرسل إلى %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "لا رمز تأكيد."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "لم يوجد رمز التأكيد."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "رمز التأكيد ليس لك!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr ""
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 #, fuzzy
 msgid "That address has already been confirmed."
 msgstr "هذا البريد الإلكتروني ملك مستخدم آخر بالفعل."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "تعذّر تحديث المستخدم."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "تعذّر حذف تأكيد البريد الإلكتروني."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "تعذّر حذف تأكيد البريد المراسلة الفورية."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "أكد العنوان"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr ""
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "محادثة"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "الإشعارات"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "يجب أن تسجل الدخول لتحذف تطبيقا."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "لم يوجد التطبيق."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "أنت لست مالك هذا التطبيق."
@@ -1339,15 +1446,18 @@ msgstr "أنت لست مالك هذا التطبيق."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "احذف هذا التطبيق"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1355,12 +1465,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "لا تحذف هذا التطبيق"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "احذف هذا التطبيق"
 
@@ -1397,13 +1507,14 @@ msgstr "تعذر تحديث المجموعة."
 msgid "Deleted group %s"
 msgstr "%1$s ترك المجموعة %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "احذف المستخدم"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1423,42 +1534,50 @@ msgstr "لا تحذف هذا الإشعار"
 msgid "Delete this group"
 msgstr "احذف هذا المستخدم"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "لست والجًا."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "تعذّر حذف هذا الإشعار."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "احذف الإشعار"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "أمتأكد من أنك تريد حذف هذا الإشعار؟"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "لا تحذف هذا الإشعار"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "احذف هذا الإشعار"
 
@@ -1542,12 +1661,14 @@ msgstr "سمة مخصصة"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "تغيير صورة الخلفية"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "الخلفية"
 
@@ -1559,41 +1680,49 @@ msgid ""
 msgstr "بإمكانك رفع صورة خلفية للموقع. أقصى حجم للملف هو %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "مكّن"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "عطّل"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "مكّن صورة الخلفية أو عطّلها."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "تغيير صورة الخلفية"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "تغيير الألوان"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "المحتوى"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "الشريط الجانبي"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "النص"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "وصلات"
 
@@ -1605,29 +1734,31 @@ msgstr "متقدم"
 msgid "Custom CSS"
 msgstr "CSS مخصصة"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "استخدم المبدئيات"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "استعد التصميمات المبدئية"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "ارجع إلى المبدئي"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "أرسل"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "احفظ التصميم"
 
@@ -1671,9 +1802,9 @@ msgid "Name is required."
 msgstr "الاسم مطلوب."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "الاسم طويل جدا (الأقصى 255 حرفا)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1703,7 +1834,7 @@ msgid "Organization is required."
 msgstr "المنظمة مطلوبة."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "المنظمة طويلة جدا (الأقصى 255 حرفا)."
@@ -1729,49 +1860,49 @@ msgstr "مسار المصدر ليس صحيحا."
 msgid "Could not update application."
 msgstr "لم يمكن تحديث التطبيق."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "عدّل مجموعة %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "يجب أن تكون والجًا لتنشئ مجموعة."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "يجب أن تكون إداريا لتعدل المجموعة."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "استخدم هذا النموذج لتعديل المجموعة."
 
-#: actions/editgroup.php:205
-#, fuzzy, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "المنظمة طويلة جدا (الأقصى %d حرفا)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "كنيات كيرة! العدد الأقصى هو %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "كنية غير صالحة: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "تعذر تحديث المجموعة."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "تعذّر إنشاء الكنى."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "حُفظت الخيارات."
 
@@ -1960,6 +2091,12 @@ msgstr "أُلغي تأكيد المراسلة الفورية."
 msgid "That is the wrong email address."
 msgstr "هذا عنوان بريد إلكتروني خطأ."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "تعذّر حذف تأكيد البريد الإلكتروني."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2039,7 +2176,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "إشعارات %s المُفضلة"
@@ -2138,19 +2275,23 @@ msgstr "لا يمكنك سحب أدوار المستخدمين على هذا ا
 msgid "User already has this role."
 msgstr "لدى المستخدم هذا الدور من قبل."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "لا ملف شخصي مُحدّد."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "لا ملف شخصي بهذه الهوية."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "لا مجموعة مُحدّدة."
@@ -2213,8 +2354,10 @@ msgid ""
 "palette of your choice."
 msgstr "خصّص أسلوب عرض ملفك بصورة خلفية ومخطط ألوان من اختيارك."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "تعذّر تحديث تصميمك."
 
@@ -2232,6 +2375,15 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "بإمكانك رفع صورة شعار مجموعتك. أقصى حجم للملف هو %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "ارفع"
+
+#: actions/grouplogo.php:289
+#, fuzzy
+msgid "Crop"
+msgstr "مجموعات"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2369,15 +2521,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "المستخدم ليس ممنوعًا من المجموعة."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "خطأ أثناء منع الحجب."
 
@@ -2460,7 +2615,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "انشر هوية مصغّرة لعنوان بريدي الإلكتروني."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "حُفِظت التفضيلات."
 
@@ -2588,10 +2743,9 @@ msgstr[5] "لست مشتركًا بأحد."
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2750,8 +2904,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "رسالة ترحيب غير صالحة. أقصى طول هو 255 حرف."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2920,29 +3075,21 @@ msgstr "يجب أن تكون مسجل الدخول لتسجل تطبيقا."
 msgid "Use this form to register a new application."
 msgstr "استخدم هذا النموذج لتسجل تطبيقا جديدا."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "الاسم طويل جدا (الأقصى 255 حرفا)."
-
 #: actions/newapplication.php:184
 #, fuzzy
 msgid "Source URL is required."
 msgstr "مسار المصدر ليس صحيحا."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "المنظمة طويلة جدا (الأقصى 255 حرفا)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "لم يمكن إنشاء التطبيق."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "مجموعة جديدة"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "استخدم هذا النموذج لإنشاء مجموعة جديدة."
@@ -2952,14 +3099,14 @@ msgid "New message"
 msgstr "رسالة جديدة"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "لا يمكنك إرسال رسائل إلى هذا المستخدم."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "لا محتوى!"
 
@@ -2968,7 +3115,7 @@ msgid "No recipient specified."
 msgstr "لا مستلم حُدّد."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2979,12 +3126,12 @@ msgstr "أُرسلت الرسالة"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "رسالة مباشرة ل%s تم إرسالها."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "خطأ أجاكس"
 
@@ -2992,17 +3139,7 @@ msgstr "خطأ أجاكس"
 msgid "New notice"
 msgstr "إشعار جديد"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "أُرسل الإشعار"
 
@@ -3135,25 +3272,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "ليس للمستخدم ملف شخصي."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "حالة %1$s في يوم %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "نوع المحتوى "
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "ليس نسق بيانات مدعوم."
@@ -3166,37 +3303,46 @@ msgstr "بحث في الأشخاص"
 msgid "Notice Search"
 msgstr "بحث الإشعارات"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "إعدادات أخرى"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "أدر خيارات أخرى عديدة."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (خدمة حرة)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "قصّر المسارات بـ"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "خدمة التقصير المطلوب استخدامها."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "اعرض تصاميم الملف الشخصي"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "أظهر أو أخفِ تصاميم الملفات الشخصية."
 
-#: actions/othersettings.php:153
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
 #, fuzzy
-msgid "URL shortening service is too long (max 50 chars)."
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)"
 
 #: actions/otp.php:69
@@ -3636,8 +3782,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 حرفًا إنجليزيًا أو رقمًا بدون نقاط أو مسافات"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "الاسم الكامل"
@@ -3681,9 +3828,10 @@ msgid "Bio"
 msgstr "السيرة"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "الموقع"
@@ -4020,7 +4168,8 @@ msgid "Unexpected password reset."
 msgstr "أعد ضبط كلمة السر"
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "يجب أن تكون كلمة السر 6 محارف أو أكثر."
 
 #: actions/recoverpassword.php:369
@@ -4238,7 +4387,7 @@ msgid "Repeated!"
 msgstr "مكرر!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "الردود على %s"
@@ -4369,11 +4518,12 @@ msgstr "المنظمة"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "الوصف"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "إحصاءات"
@@ -4392,6 +4542,11 @@ msgstr "معلومات التطبيق"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "احذف"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "معلومات التطبيق"
@@ -4480,78 +4635,107 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "إنها إحدى وسائل مشاركة ما تحب."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "مجموعة %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "مجموعة %1$s، الصفحة %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "ملف المجموعة الشخصي"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "مسار"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "ملاحظة"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "الكنى"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 #, fuzzy
 msgid "Group actions"
 msgstr "تصرفات المستخدم"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr ""
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr ""
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr ""
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, fuzzy, php-format
 msgid "FOAF for %s group"
 msgstr "مجموعة %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "الأعضاء"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(لا شيء)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "جميع الأعضاء"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "أنشئت"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "الأعضاء"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4566,7 +4750,10 @@ msgstr ""
 "[انضم الآن](%%%%action.register%%%%) لتصبح عضوًا في هذه المجموعة ومجموعات "
 "أخرى عديدة! ([اقرأ المزيد](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4578,24 +4765,31 @@ msgstr ""
 "en.wikipedia.org/wiki/Micro-blogging) المبنية على البرنامج الحر [StatusNet]"
 "(http://status.net/). يتشارك أعضاؤها رسائل قصيرة عن حياتهم واهتماماتهم. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "الإداريون"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "لا رسالة كهذه."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "يحق للمُرسل والمستلم فقط قراءة هذه الرسالة."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, fuzzy, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "الإشعارات التي فضلها %1$s في %2$s!"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, fuzzy, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "نتائج البحث ل\"%1$s\" على %2$s"
@@ -4604,60 +4798,84 @@ msgstr "نتائج البحث ل\"%1$s\" على %2$s"
 msgid "Notice deleted."
 msgstr "حُذف الإشعار."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, fuzzy, php-format
-msgid " tagged %s"
-msgstr "الإشعارات الموسومة ب%s"
+msgid "%1$s tagged %2$s"
+msgstr "%1$s، الصفحة %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "الإشعارات الموسومة ب%s، الصفحة %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s، الصفحة %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr ""
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr ""
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "صندوق %s الصادر"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4671,7 +4889,9 @@ msgstr ""
 "[انضم الآن](%%%%action.register%%%%) لتتابع إشعارت **%s** وغيره! ([اقرأ "
 "المزيد](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4682,7 +4902,8 @@ msgstr ""
 "wikipedia.org/wiki/Micro-blogging) المبنية على البرنامج الحر [StatusNet]"
 "(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "تكرار ل%s"
@@ -4793,31 +5014,39 @@ msgstr "حد النص"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "إشعار الموقع"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "عدّل رسالة الموقع العامة"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "تعذّر حفظ إشعار الموقع."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "نص إشعار الموقع"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "نص إشعار عام للموقع (255 حرف كحد أقصى؛ يسمح بHTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "احفظ إشعار الموقع"
 
@@ -5036,13 +5265,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "اذف إعدادت الموقع"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "لست مُشتركًا بأي أحد."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "تعذّر حفظ الاشتراك."
 
@@ -5271,75 +5502,93 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "المستخدم"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "رسالة ترحيب غير صالحة. أقصى طول هو 255 حرف."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "الملف الشخصي"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "حد السيرة"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "مستخدمون جدد"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "ترحيب المستخدمين الجدد"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "نص الترحيب بالمستخدمين الجدد (255 حرفًا كحد أقصى)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "الاشتراك المبدئي"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "أشرك المستخدمين الجدد بهذا المستخدم تلقائيًا."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "الدعوات"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "الدعوات مُفعلة"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5440,11 +5689,13 @@ msgstr ""
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr ""
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "تصميم الملف الشخصي"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5531,7 +5782,7 @@ msgid "Plugins"
 msgstr "الملحقات"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "النسخة"
 
@@ -5564,29 +5815,50 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "حجم غير صالح."
@@ -5714,40 +5986,47 @@ msgid "Problem saving notice."
 msgstr "مشكلة أثناء حفظ الإشعار."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "مشكلة أثناء حفظ الإشعار."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "آر تي @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5819,32 +6098,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "أهلا بكم في %1$s يا @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "تعذّر إنشاء المجموعة."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "تعذّر إنشاء المجموعة."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "تعذّر ضبط عضوية المجموعة."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "تعذر تحديث المجموعة المحلية."
 
@@ -5894,196 +6173,203 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "صفحة غير مُعنونة"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 #, fuzzy
 msgid "Primary site navigation"
 msgstr "ضبط الموقع الأساسي"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "الملف الشخصي ومسار الأصدقاء الزمني"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "الصفحة الشخصية"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "غير بريدك الإلكتروني وكلمة سرّك وأفتارك وملفك الشخصي"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "الحساب"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "اتصل بالخدمات"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "اتصل"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "غيّر ضبط الموقع"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "إداري"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "ادعُ أصدقائك وزملائك للانضمام إليك في %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "ادعُ"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "اخرج من الموقع"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "اخرج"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "أنشئ حسابًا"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "سجّل"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "لُج إلى الموقع"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "لُج"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "ساعدني!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "مساعدة"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "ابحث عن أشخاص أو نصوص"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "ابحث"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "إشعار الموقع"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "المشاهدات المحلية"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "إشعار الصفحة"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "ضبط الموقع الأساسي"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "مساعدة"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "عن"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "الأسئلة المكررة"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "الشروط"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "خصوصية"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "المصدر"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "اتصل"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "الجسر"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "رخصة برنامج StatusNet"
 
@@ -6091,7 +6377,7 @@ msgstr "رخصة برنامج StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6101,7 +6387,7 @@ msgstr ""
 "broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr ""
@@ -6110,7 +6396,7 @@ msgstr ""
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6122,51 +6408,51 @@ msgstr ""
 "agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "رخصة محتوى الموقع"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 #, fuzzy
 msgid "Pagination"
 msgstr "تسجيل"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "بعد"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "قبل"
 
@@ -6247,7 +6533,7 @@ msgid "User configuration"
 msgstr "ضبط المستخدم"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "المستخدم"
 
@@ -6519,7 +6805,7 @@ msgid "AJAX error"
 msgstr "خطأ أجاكس"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "اكتمل الأمر"
 
@@ -6536,7 +6822,7 @@ msgstr "لا ملف بهذه الهوية."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "ليس للمستخدم إشعار أخير"
@@ -6608,6 +6894,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6645,134 +6939,146 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[1] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[2] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[3] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[4] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[5] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 #, fuzzy
 msgid "Error sending direct message."
 msgstr "أنت ممنوع من إرسال رسائل مباشرة."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "الإشعار من %s مكرر"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "خطأ تكرار الإشعار."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[1] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[2] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[3] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[4] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
+msgstr[5] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "رُد على رسالة %s"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "خطأ أثناء حفظ الإشعار."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "الأمر لم يُجهزّ بعد."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "الإشعار مُطفأ."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "تعذّر إطفاء الإشعارات."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "الإشعار يعمل."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "تعذّر تشغيل الإشعار."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "لست مُشتركًا بأي أحد."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "لست مشتركًا بأحد."
@@ -6784,14 +7090,14 @@ msgstr[5] ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "لا أحد مشترك بك."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "لا أحد مشترك بك."
@@ -6803,14 +7109,14 @@ msgstr[5] ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "لست عضوًا في أي مجموعة."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "لست عضوًا في أي مجموعة."
@@ -6821,7 +7127,7 @@ msgstr[4] ""
 msgstr[5] ""
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6965,23 +7271,41 @@ msgstr "تطبيقات OAuth"
 msgid "Database error"
 msgstr "خطأ قاعدة بيانات"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "ارفع ملفًا"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "تستطيع رفع صورتك الشخصية. أقصى حجم للملف هو 2 م.ب."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "مكّن"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "عطّل"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "أعد الضبط"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "استعيدت مبدئيات التصميم."
 
@@ -7009,7 +7333,8 @@ msgstr "أتوم"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7048,7 +7373,7 @@ msgstr "1-64 حرفًا إنجليزيًا أو رقمًا بدون نقاط أ
 
 #: lib/groupeditform.php:163
 #, fuzzy
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "مسار صفحة هذا التطبيق"
 
 #: lib/groupeditform.php:168
@@ -7057,19 +7382,35 @@ msgstr "صِف المجموعة أو الموضوع"
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "صِف المجموعة أو الموضوع"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "صِف المجموعة أو الموضوع"
+msgstr[1] "صِف المجموعة أو الموضوع"
+msgstr[2] "صِف المجموعة أو الموضوع"
+msgstr[3] "صِف المجموعة أو الموضوع"
+msgstr[4] "صِف المجموعة أو الموضوع"
+msgstr[5] "صِف المجموعة أو الموضوع"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 #, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "مكان تواجدك، على سبيل المثال \"المدينة، الولاية (أو المنطقة)، الدولة\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7170,41 +7511,71 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "نسق غير مدعوم."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 #, fuzzy
 msgid "Partial upload."
 msgstr "لم يُرفع ملف."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr ""
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 #, fuzzy
 msgid "Lost our file."
 msgstr "لا ملف كهذا."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "نوع ملف غير معروف"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "ميجابايت"
-
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "كيلوبايت"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "ميجابايت"
+msgstr[1] "ميجابايت"
+msgstr[2] "ميجابايت"
+msgstr[3] "ميجابايت"
+msgstr[4] "ميجابايت"
+msgstr[5] "ميجابايت"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "كيلوبايت"
+msgstr[1] "كيلوبايت"
+msgstr[2] "كيلوبايت"
+msgstr[3] "كيلوبايت"
+msgstr[4] "كيلوبايت"
+msgstr[5] "كيلوبايت"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7418,7 +7789,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "لقد أضاف %s (@%s) إشعارك إلى مفضلاته"
@@ -7428,7 +7799,7 @@ msgstr "لقد أضاف %s (@%s) إشعارك إلى مفضلاته"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7450,7 +7821,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7460,7 +7831,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "لقد أرسل %s (@%s) إشعارًا إليك"
@@ -7471,7 +7842,7 @@ msgstr "لقد أرسل %s (@%s) إشعارًا إليك"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7531,7 +7902,7 @@ msgstr "هذا ليس عنوان بريدك الإلكتروني."
 msgid "Sorry, no incoming email allowed."
 msgstr "لا عنوان بريد إلكتروني وارد."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "نوع رسالة غير مدعوم: %s"
@@ -7593,7 +7964,7 @@ msgstr "لم يمكن تحديد نوع MIME للملف."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7602,7 +7973,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7742,31 +8113,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "تعذّر إدراج اشتراك جديد."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "شخصية"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "الردود"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "المفضلات"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "صندوق الوارد"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "رسائلك الواردة"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "صندوق الصادر"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "رسائلك المُرسلة"
 
@@ -7873,16 +8244,17 @@ msgid "Sandbox this user"
 msgstr "أضف هذا المستخدم إلى صندوق الرمل"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "ابحث في الموقع"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "الكلمات المفتاحية"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7963,6 +8335,12 @@ msgstr ""
 msgid "None"
 msgstr "لا شيء"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "حجم غير صالح."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7972,8 +8350,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "فشل تحديث الأفتار."
@@ -7984,29 +8362,36 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "خطأ أثناء تحديث الملف الشخصي البعيد."
 
@@ -8014,6 +8399,13 @@ msgstr "خطأ أثناء تحديث الملف الشخصي البعيد."
 msgid "Top posters"
 msgstr "أعلى المرسلين"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "ألغِ المنع"
+
 #: lib/unsandboxform.php:69
 #, fuzzy
 msgid "Unsandbox"
@@ -8201,17 +8593,26 @@ msgstr[3] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرف
 msgstr[4] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
 msgstr[5] "هذه طويلة جدًا. أطول حجم للإشعار %d  حرفًا."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "لا هوية مستخدم محددة."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
index 2f79e0763e82a1f926cf70123e1b4e5b6c80ce9f..180c5aded37180a4eee97d05ea7136ab80c6a7b0 100644 (file)
@@ -11,19 +11,19 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:45+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:05+0000\n"
 "Language-Team: Egyptian Spoken Arabic <http://translatewiki.net/wiki/Portal:"
 "arz>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: arz\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
 "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -83,15 +83,22 @@ msgstr "اذف إعدادت الموقع"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 #, fuzzy
 msgctxt "BUTTON"
 msgid "Save"
@@ -123,6 +130,7 @@ msgstr "لا وسم كهذا."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -135,14 +143,14 @@ msgstr "لا وسم كهذا."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "لا مستخدم كهذا."
@@ -159,7 +167,7 @@ msgstr "%1$s و الصحاب, صفحه %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s والأصدقاء"
@@ -209,7 +217,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, fuzzy, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -307,11 +317,12 @@ msgstr "تعذّر تحديث المستخدم."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -324,11 +335,13 @@ msgstr "لم يمكن حفظ الملف."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -510,43 +523,53 @@ msgstr "تعذّر إيجاد المستخدم الهدف."
 msgid "Could not find target user."
 msgstr "تعذّر إيجاد المستخدم الهدف."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr ""
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "ليس اسمًا مستعارًا صحيحًا."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "الصفحه الرئيسيه ليست عنونًا صالحًا."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -555,10 +578,14 @@ msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -570,9 +597,11 @@ msgstr[4] "المنظمه طويله جدا (اكتر حاجه %d رمز)."
 msgstr[5] "المنظمه طويله جدا (اكتر حاجه %d رمز)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -580,7 +609,12 @@ msgstr "المنظمه طويله جدا (اكتر حاجه 255 رمز)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -600,15 +634,19 @@ msgstr "كنيه غير صالحة: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr ""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -718,21 +756,21 @@ msgid "Request token already authorized."
 msgstr "لا تملك تصريحًا."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -748,17 +786,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "خطأ قاعده البيانات أثناء إدخال المستخدم OAuth app"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr ""
 
@@ -802,9 +842,10 @@ msgstr "الحساب"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -900,20 +941,21 @@ msgstr "لا يمكنك حذف المستخدمين."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "لا إشعار كهذا."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "مش نافعه تتكرر الملاحظتك بتاعتك."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "الملاحظه اتكررت فعلا."
 
@@ -935,7 +977,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -954,7 +997,7 @@ msgstr "الـ API method مش موجوده."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1065,106 +1108,140 @@ msgstr "الـ API method مش موجوده."
 msgid "User not found."
 msgstr "الـ API method مش موجوده."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "لا مرفق كهذا."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "لا اسم مستعار."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "لا حجم."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "حجم غير صالح."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "أفتار"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, fuzzy, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "تستطيع رفع صورتك الشخصيه. أقصى حجم للملف هو 2 م.ب."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "يوزر من-غير پروفايل زيّه."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "إعدادات الأفتار"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "الأصلي"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "عاين"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "احذف"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "ارفع"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
 #, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "مجموعات"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 #, fuzzy
 msgid "No file uploaded."
 msgstr "لا ملف شخصى مُحدّد."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "رُفع الأفتار."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "فشل تحديث الأفتار."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "حُذف الأفتار."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "لقد منعت مسبقا هذا المستخدم."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "امنع المستخدم"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1177,8 +1254,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1186,7 +1263,7 @@ msgstr "ملاحظة"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "لا تمنع هذا المستخدم"
 
@@ -1196,8 +1273,8 @@ msgstr "لا تمنع هذا المستخدم"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 #, fuzzy
 msgctxt "BUTTON"
@@ -1206,143 +1283,173 @@ msgstr "نعم"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "امنع هذا المستخدم"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "فشل حفظ معلومات المنع."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "لا مجموعه كهذه."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, fuzzy, php-format
 msgid "%s blocked profiles"
 msgstr "%1$s فايلات معمول ليها بلوك, الصفحه %2$d"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s فايلات معمول ليها بلوك, الصفحه %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "قائمه بمستخدمى هذه المجموعه."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "ألغ منع المستخدم من المجموعة"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "ألغِ المنع"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "ألغِ منع هذا المستخدم"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, fuzzy, php-format
 msgid "Post to %s"
 msgstr "مجموعات %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "لا رمز تأكيد."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "لم يوجد رمز التأكيد."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "رمز التأكيد ليس لك!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr ""
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 #, fuzzy
 msgid "That address has already been confirmed."
 msgstr "هذا البريد الإلكترونى ملك مستخدم آخر بالفعل."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "تعذّر تحديث المستخدم."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "تعذّر حذف تأكيد البريد الإلكترونى."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "اكد العنوان"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr ""
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "محادثة"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "الإشعارات"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "لازم يكون متسجل دخولك علشان تعدّل application."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 #, fuzzy
 msgid "Application not found."
 msgstr "لم يوجد رمز التأكيد."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "انت مش بتملك الapplication دى."
@@ -1350,15 +1457,18 @@ msgstr "انت مش بتملك الapplication دى."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "OAuth applications"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1366,13 +1476,13 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 #, fuzzy
 msgid "Do not delete this application"
 msgstr "لا تحذف هذا الإشعار"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 #, fuzzy
 msgid "Delete this application"
 msgstr "احذف هذا الإشعار"
@@ -1410,13 +1520,14 @@ msgstr "تعذر تحديث المجموعه."
 msgid "Deleted group %s"
 msgstr "%1$s ساب جروپ %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "احذف المستخدم"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1436,42 +1547,50 @@ msgstr "لا تحذف هذا الإشعار"
 msgid "Delete this group"
 msgstr "احذف هذا المستخدم"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "لست والجًا."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "تعذّر حذف هذا الإشعار."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "احذف الإشعار"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "أمتأكد من أنك تريد حذف هذا الإشعار؟"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "لا تحذف هذا الإشعار"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "احذف هذا الإشعار"
 
@@ -1556,12 +1675,14 @@ msgstr "سمه الموقع"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "تغيير صوره الخلفية"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "الخلفية"
 
@@ -1573,41 +1694,49 @@ msgid ""
 msgstr "تستطيع رفع صورتك الشخصيه. أقصى حجم للملف هو 2 م.ب."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "مكّن"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "عطّل"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "مكّن صوره الخلفيه أو عطّلها."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "تغيير صوره الخلفية"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "تغيير الألوان"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "المحتوى"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "الشريط الجانبي"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "النص"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "وصلات"
 
@@ -1619,29 +1748,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "استخدم المبدئيات"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "استعد التصميمات المبدئية"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "ارجع إلى المبدئي"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "أرسل"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "احفظ التصميم"
 
@@ -1686,9 +1817,9 @@ msgid "Name is required."
 msgstr "الاسم مطلوب."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "الاسم طويل جدا (اكتر حاجه 255 رمز)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1719,7 +1850,7 @@ msgid "Organization is required."
 msgstr "الوصف مطلوب."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "المنظمه طويله جدا (اكتر حاجه 255 رمز)."
@@ -1745,49 +1876,49 @@ msgstr "الSource URL مش مظبوط."
 msgid "Could not update application."
 msgstr "ما نفعش تحديث الapplication."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "عدّل مجموعه %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "يجب أن تكون والجًا لتنشئ مجموعه."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "لازم تكون ادارى علشان تعدّل الجروپ."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "استخدم هذا النموذج لتعديل المجموعه."
 
-#: actions/editgroup.php:205
-#, fuzzy, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "المنظمه طويله جدا (اكتر حاجه %d رمز)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "كنيه غير صالحة: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "تعذر تحديث المجموعه."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "تعذّر إنشاء الكنى."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "حُفظت الخيارات."
 
@@ -1982,6 +2113,12 @@ msgstr "لا رمز تأكيد."
 msgid "That is the wrong email address."
 msgstr "هذا عنوان محادثه فوريه خاطئ."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "تعذّر حذف تأكيد البريد الإلكترونى."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2063,7 +2200,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "إشعارات %s المُفضلة"
@@ -2166,19 +2303,23 @@ msgstr "لا يمكنك إسكات المستخدمين على هذا الموق
 msgid "User already has this role."
 msgstr "المستخدم مسكت من قبل."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "لا ملف شخصى مُحدّد."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "لا ملف شخصى بهذه الهويه."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "لا مجموعه مُحدّده."
@@ -2240,8 +2381,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "تعذّر تحديث تصميمك."
 
@@ -2260,6 +2403,15 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "تستطيع رفع صورتك الشخصيه. أقصى حجم للملف هو 2 م.ب."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "ارفع"
+
+#: actions/grouplogo.php:289
+#, fuzzy
+msgid "Crop"
+msgstr "مجموعات"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2392,15 +2544,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "المستخدم ليس ممنوعًا من المجموعه."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "خطأ أثناء منع الحجب."
 
@@ -2483,7 +2638,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr ""
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "حُفِظت التفضيلات."
 
@@ -2614,10 +2769,9 @@ msgstr[5] "لست مشتركًا بأحد."
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2779,8 +2933,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "رساله ترحيب غير صالحه. أقصى طول هو 255 حرف."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2949,29 +3104,21 @@ msgstr "لازم تكون مسجل دخوللك علشان تسجل application.
 msgid "Use this form to register a new application."
 msgstr "استعمل الفورمه دى علشان تسجل application جديد."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "الاسم طويل جدا (اكتر حاجه 255 رمز)."
-
 #: actions/newapplication.php:184
 #, fuzzy
 msgid "Source URL is required."
 msgstr "الSource URL مش مظبوط."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "المنظمه طويله جدا (اكتر حاجه 255 رمز)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "مش ممكن إنشاء الapplication."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "مجموعه جديدة"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "استخدم هذا النموذج لإنشاء مجموعه جديده."
@@ -2981,7 +3128,7 @@ msgid "New message"
 msgstr "رساله جديدة"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 #, fuzzy
 msgid "You can't send a message to this user."
 msgstr "أرسل رساله مباشره إلى هذا المستخدم"
@@ -2989,7 +3136,7 @@ msgstr "أرسل رساله مباشره إلى هذا المستخدم"
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "لا محتوى!"
 
@@ -2998,7 +3145,7 @@ msgid "No recipient specified."
 msgstr "لا مستلم حُدّد."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3009,12 +3156,12 @@ msgstr "أُرسلت الرسالة"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "رساله مباشره اتبعتت لـ%s."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "خطأ أجاكس"
 
@@ -3022,17 +3169,7 @@ msgstr "خطأ أجاكس"
 msgid "New notice"
 msgstr "إشعار جديد"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, fuzzy, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "أُرسل الإشعار"
 
@@ -3163,25 +3300,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "ليس للمستخدم ملف شخصى."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, fuzzy, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s ساب جروپ %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "نوع المحتوى "
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr " مش نظام بيانات مدعوم."
@@ -3194,37 +3331,46 @@ msgstr "تدوير فى الأشخاص"
 msgid "Notice Search"
 msgstr "بحث الإشعارات"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "تظبيطات تانيه"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "أدر خيارات أخرى عديده."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (خدمه حرة)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "قصّر المسارات بـ"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "خدمه التقصير المطلوب استخدامها."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "اعرض تصاميم الملف الشخصي"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "أظهر أو أخفِ تصاميم الملفات الشخصيه."
 
-#: actions/othersettings.php:153
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
 #, fuzzy
-msgid "URL shortening service is too long (max 50 chars)."
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)"
 
 #: actions/otp.php:69
@@ -3662,8 +3808,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr ""
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "الاسم الكامل"
@@ -3706,9 +3853,10 @@ msgid "Bio"
 msgstr "السيرة"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "الموقع"
@@ -4046,7 +4194,8 @@ msgid "Unexpected password reset."
 msgstr "أعد ضبط كلمه السر"
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "يجب أن تكون كلمه السر 6 محارف أو أكثر."
 
 #: actions/recoverpassword.php:369
@@ -4263,7 +4412,7 @@ msgid "Repeated!"
 msgstr "مكرر!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "الردود على %s"
@@ -4395,11 +4544,12 @@ msgstr "المنظمه"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "الوصف"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "إحصاءات"
@@ -4418,6 +4568,11 @@ msgstr "OAuth applications"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "احذف"
+
 #: actions/showapplication.php:261
 #, fuzzy
 msgid "Application info"
@@ -4508,78 +4663,107 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "إنها إحدى وسائل مشاركه ما تحب."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "مجموعه %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s اعضاء الجروپ, صفحه %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "ملف المجموعه الشخصي"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "مسار"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "ملاحظة"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "الكنى"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 #, fuzzy
 msgid "Group actions"
 msgstr "تصرفات المستخدم"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr ""
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr ""
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr ""
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, fuzzy, php-format
 msgid "FOAF for %s group"
 msgstr "مجموعه %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "الأعضاء"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(لا شيء)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "جميع الأعضاء"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "أنشئ"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "الأعضاء"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4593,7 +4777,10 @@ msgstr ""
 "الآن](%%action.register%%) لتشارك اشعاراتك مع أصدقائك وعائلتك وزملائك! "
 "([اقرأ المزيد](%%doc.help%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4604,24 +4791,31 @@ msgstr ""
 "هنا %%site.name%%، خدمه [التدوين المُصغّر](http://en.wikipedia.org/wiki/Micro-"
 "blogging) المبنيه على البرنامج الحر [StatusNet](http://status.net/)."
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "الإداريون"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "لا رساله كهذه."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "يحق للمُرسل والمستلم فقط قراءه هذه الرساله."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, fuzzy, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "أهلا بكم فى %1$s يا @%2$s!"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, fuzzy, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "نتايج التدوير لـ\"%1$s\" على %2$s"
@@ -4630,60 +4824,84 @@ msgstr "نتايج التدوير لـ\"%1$s\" على %2$s"
 msgid "Notice deleted."
 msgstr "حُذف الإشعار."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s و الصحاب, صفحه %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "الإشعارات الموسومه ب%s"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s و الصحاب, صفحه %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr ""
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr ""
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr ""
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4696,7 +4914,9 @@ msgstr ""
 "الآن](%%action.register%%) لتشارك اشعاراتك مع أصدقائك وعائلتك وزملائك! "
 "([اقرأ المزيد](%%doc.help%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4706,7 +4926,8 @@ msgstr ""
 "هنا %%site.name%%، خدمه [التدوين المُصغّر](http://en.wikipedia.org/wiki/Micro-"
 "blogging) المبنيه على البرنامج الحر [StatusNet](http://status.net/)."
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "تكرارات %s"
@@ -4819,35 +5040,42 @@ msgstr "حد النص"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 #, fuzzy
 msgid "Site Notice"
 msgstr "إشعار الموقع"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "رساله جديدة"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "مشكله أثناء حفظ الإشعار."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "إشعار الموقع"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "إشعار الموقع"
@@ -5071,13 +5299,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "اذف إعدادت الموقع"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "لست مُشتركًا بأى أحد."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "تعذّر حفظ الاشتراك."
 
@@ -5306,76 +5536,94 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 #, fuzzy
 msgctxt "TITLE"
 msgid "User"
 msgstr "المستخدم"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "رساله ترحيب غير صالحه. أقصى طول هو 255 حرف."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "الملف الشخصي"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "حد السيرة"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "مستخدمون جدد"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "ترحيب المستخدمين الجدد"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "نص الترحيب بالمستخدمين الجدد (255 حرفًا كحد أقصى)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "الاشتراك المبدئي"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "أشرك المستخدمين الجدد بهذا المستخدم تلقائيًا."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "الدعوات"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "الدعوات مُفعلة"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5476,11 +5724,13 @@ msgstr ""
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr ""
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "تصميم الملف الشخصي"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5566,7 +5816,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "النسخه"
 
@@ -5599,29 +5849,50 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "حجم غير صالح."
@@ -5750,40 +6021,47 @@ msgid "Problem saving notice."
 msgstr "مشكله أثناء حفظ الإشعار."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "مشكله أثناء حفظ الإشعار."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "آر تى @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5854,32 +6132,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "أهلا بكم فى %1$s يا @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "تعذّر إنشاء المجموعه."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "تعذّر إنشاء المجموعه."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "تعذّر ضبط عضويه المجموعه."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "تعذّر حفظ الاشتراك."
@@ -5930,139 +6208,145 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "صفحه غير مُعنونة"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 #, fuzzy
 msgid "Primary site navigation"
 msgstr "ضبط الموقع الأساسي"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "الملف الشخصى ومسار الأصدقاء الزمني"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 #, fuzzy
 msgctxt "MENU"
 msgid "Personal"
 msgstr "شخصية"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "غير كلمه سرّك"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "الحساب"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "كونيكشونات (Connections)"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "اتصل"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "ضبط الموقع الأساسي"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 #, fuzzy
 msgctxt "MENU"
 msgid "Admin"
 msgstr "إداري"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "ادعُ"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "سمه الموقع."
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "الشعار"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "أنشئ مجموعه جديدة"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 #, fuzzy
 msgctxt "MENU"
 msgid "Register"
 msgstr "سجّل"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "لُج إلى الموقع"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 #, fuzzy
 msgctxt "MENU"
 msgid "Login"
 msgstr "لُج"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "مساعدة"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 #, fuzzy
 msgctxt "MENU"
 msgid "Help"
 msgstr "مساعدة"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "ابحث عن أشخاص أو نص"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 #, fuzzy
 msgctxt "MENU"
 msgid "Search"
@@ -6070,69 +6354,70 @@ msgstr "ابحث"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "إشعار الموقع"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "المشاهدات المحلية"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "إشعار الصفحة"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "ضبط الموقع الأساسي"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "مساعدة"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "عن"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "الأسئله المكررة"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "الشروط"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "خصوصية"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "المصدر"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "اتصل"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 #, fuzzy
 msgid "Badge"
 msgstr "نبّه"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 #, fuzzy
 msgid "StatusNet software license"
 msgstr "رخصه محتوى الموقع"
@@ -6141,7 +6426,7 @@ msgstr "رخصه محتوى الموقع"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6151,7 +6436,7 @@ msgstr ""
 "broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr ""
@@ -6160,7 +6445,7 @@ msgstr ""
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6172,51 +6457,51 @@ msgstr ""
 "agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "رخصه محتوى الموقع"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 #, fuzzy
 msgid "Pagination"
 msgstr "المنظمه"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "بعد"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "قبل"
 
@@ -6300,7 +6585,7 @@ msgid "User configuration"
 msgstr "ضبط المسارات"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "المستخدم"
 
@@ -6577,7 +6862,7 @@ msgid "AJAX error"
 msgstr "خطأ أجاكس"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "اكتمل الأمر"
 
@@ -6594,7 +6879,7 @@ msgstr "لا ملف بهذه الهويه."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "ليس للمستخدم إشعار أخير"
@@ -6665,6 +6950,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6702,138 +6995,150 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[1] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[2] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[3] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[4] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[5] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 #, fuzzy
 msgid "Error sending direct message."
 msgstr "أنت ممنوع من إرسال رسائل مباشره."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "الإشعار من %s مكرر"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "خطأ تكرار الإشعار."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[1] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[2] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[3] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[4] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
+msgstr[5] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "رُد على رساله %s"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "خطأ أثناء حفظ الإشعار."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 #, fuzzy
 msgid "Command not yet implemented."
 msgstr "اكتمل الأمر"
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 #, fuzzy
 msgid "Notification off."
 msgstr "لا رمز تأكيد."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 #, fuzzy
 msgid "Notification on."
 msgstr "لا رمز تأكيد."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 #, fuzzy
 msgid "Can't turn on notification."
 msgstr "مش نافعه تتكرر الملاحظتك بتاعتك."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "لست مُشتركًا بأى أحد."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "لست مشتركًا بأحد."
@@ -6845,14 +7150,14 @@ msgstr[5] ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "لا أحد مشترك بك."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "لا أحد مشترك بك."
@@ -6864,14 +7169,14 @@ msgstr[5] ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "لست عضوًا فى أى مجموعه."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "لست عضوًا فى أى مجموعه."
@@ -6882,7 +7187,7 @@ msgstr[4] ""
 msgstr[5] ""
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6988,23 +7293,41 @@ msgstr "OAuth applications"
 msgid "Database error"
 msgstr "خطأ قاعده بيانات"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "ارفع ملفًا"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "تستطيع رفع صورتك الشخصيه. أقصى حجم للملف هو 2 م.ب."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "مكّن"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "عطّل"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "أعد الضبط"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "استعيدت مبدئيات التصميم."
 
@@ -7032,7 +7355,8 @@ msgstr "أتوم"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7070,8 +7394,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr ""
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
-msgstr ""
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
+msgstr "انت مش بتملك الapplication دى."
 
 #: lib/groupeditform.php:168
 #, fuzzy
@@ -7079,19 +7404,35 @@ msgid "Describe the group or topic"
 msgstr "اوصف الapplication بتاعتك"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr ""
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "اوصف الapplication بتاعتك"
+msgstr[1] "اوصف الapplication بتاعتك"
+msgstr[2] "اوصف الapplication بتاعتك"
+msgstr[3] "اوصف الapplication بتاعتك"
+msgstr[4] "اوصف الapplication بتاعتك"
+msgstr[5] "اوصف الapplication بتاعتك"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7192,41 +7533,71 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "نسق غير مدعوم."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 #, fuzzy
 msgid "Partial upload."
 msgstr "رُفع الأفتار."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr ""
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 #, fuzzy
 msgid "Lost our file."
 msgstr "لا ملف كهذا."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "نوع ملف غير معروف"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "ميجابايت"
-
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "كيلوبايت"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "ميجابايت"
+msgstr[1] "ميجابايت"
+msgstr[2] "ميجابايت"
+msgstr[3] "ميجابايت"
+msgstr[4] "ميجابايت"
+msgstr[5] "ميجابايت"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "كيلوبايت"
+msgstr[1] "كيلوبايت"
+msgstr[2] "كيلوبايت"
+msgstr[3] "كيلوبايت"
+msgstr[4] "كيلوبايت"
+msgstr[5] "كيلوبايت"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7420,7 +7791,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "أرسل لى بريدًا إلكرتونيًا عندما يضيف أحدهم إشعارى مفضله."
@@ -7430,7 +7801,7 @@ msgstr "أرسل لى بريدًا إلكرتونيًا عندما يضيف أح
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7452,7 +7823,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7462,7 +7833,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7473,7 +7844,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7532,7 +7903,7 @@ msgstr "هذا ليس عنوان بريدك الإلكترونى."
 msgid "Sorry, no incoming email allowed."
 msgstr ""
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "نوع رساله مش مدعوم: %s"
@@ -7594,7 +7965,7 @@ msgstr "مش نافع يتحدد نوع الـMIME بتاع الفايل."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7603,7 +7974,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7744,31 +8115,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "تعذّر إدراج اشتراك جديد."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "شخصية"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "الردود"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "المفضلات"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "صندوق الوارد"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "رسائلك الواردة"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "صندوق الصادر"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "رسائلك المُرسلة"
 
@@ -7876,16 +8247,17 @@ msgid "Sandbox this user"
 msgstr "أضف هذا المستخدم إلى صندوق الرمل"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "ابحث فى الموقع"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "الكلمات المفتاحية"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7966,6 +8338,12 @@ msgstr ""
 msgid "None"
 msgstr "لا شيء"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "حجم غير صالح."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7975,8 +8353,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "فشل تحديث الأفتار."
@@ -7987,29 +8365,36 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "خطأ أثناء منع الحجب."
 
@@ -8017,6 +8402,13 @@ msgstr "خطأ أثناء منع الحجب."
 msgid "Top posters"
 msgstr "أعلى المرسلين"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "ألغِ المنع"
+
 #: lib/unsandboxform.php:69
 #, fuzzy
 msgid "Unsandbox"
@@ -8206,17 +8598,26 @@ msgstr[3] "هذا الملف كبير جدًا. إن أقصى حجم للملف
 msgstr[4] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
 msgstr[5] "هذا الملف كبير جدًا. إن أقصى حجم للملفات هو %d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "ما فيش ID متحدد لليوزر."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
index 1be9f60d0a04cb2953d7e045f6feda877ffd4d62..bf36d818c8c9c039ee3cdd964af960c038a2c126 100644 (file)
@@ -10,17 +10,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:46+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:06+0000\n"
 "Language-Team: Bulgarian <http://translatewiki.net/wiki/Portal:bg>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: bg\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -77,15 +77,22 @@ msgstr "Запазване настройките за достъп"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Запазване"
@@ -116,6 +123,7 @@ msgstr "Няма такака страница."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -128,14 +136,14 @@ msgstr "Няма такака страница."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Няма такъв потребител"
@@ -152,7 +160,7 @@ msgstr "%1$s и приятели, страница %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s и приятели"
@@ -202,7 +210,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -298,11 +308,12 @@ msgstr "Грешка при обновяване на потребителя."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -315,11 +326,13 @@ msgstr "Грешка при запазване на профила."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -496,9 +509,11 @@ msgstr "Целевият потребител не беше открит."
 msgid "Could not find target user."
 msgstr "Целевият потребител не беше открит."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -506,35 +521,43 @@ msgstr ""
 "между тях."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Опитайте друг псевдоним, този вече е зает."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Неправилен псевдоним."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Адресът на личната страница не е правилен URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -543,10 +566,14 @@ msgstr "Пълното име е твърде дълго (макс. 255 знак
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -554,9 +581,11 @@ msgstr[0] "Описанието е твърде дълго (до %d символ
 msgstr[1] "Описанието е твърде дълго (до %d символа)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -564,7 +593,12 @@ msgstr "Името на местоположението е твърде дъл
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -580,15 +614,19 @@ msgstr "Неправилен псевдоним: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Псевдонимът \"%s\" вече е зает. Опитайте друг."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -696,21 +734,21 @@ msgid "Request token already authorized."
 msgstr "Не сте абонирани за никого."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Имаше проблем със сесията ви в сайта. Моля, опитайте отново!"
 
@@ -726,17 +764,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Грешка в базата от данни — отговор при вмъкването: %s"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Неочаквано изпращане на форма."
 
@@ -780,9 +820,10 @@ msgstr "Сметка"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -875,20 +916,21 @@ msgstr "Не може да изтривате бележки на друг по
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Няма такава бележка."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Не можете да повтаряте собствени бележки."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Вече сте повторили тази бележка."
 
@@ -909,7 +951,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -924,7 +967,7 @@ msgstr "Не е открит методът в API."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1029,105 +1072,140 @@ msgstr "Методът в API все още се разработва."
 msgid "User not found."
 msgstr "Не е открит методът в API."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Няма прикачени файлове."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Няма псевдоним."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Няма размер."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Неправилен размер."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Аватар"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Можете да качите личен аватар тук. Максималната големина на файла е %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Потребителят няма профил."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Настройки за аватар"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Оригинал"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Преглед"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Изтриване"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Качване"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Изрязване"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Няма качен файл."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Изберете квадратна област от изображението за аватар"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Аватарът е обновен."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Неуспешно обновяване на аватара."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Аватарът е изтрит."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Вече сте блокирали този потребител."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Блокиране на потребителя"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1140,8 +1218,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1149,7 +1227,7 @@ msgstr "Не"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Да не се блокира този потребител"
 
@@ -1159,8 +1237,8 @@ msgstr "Да не се блокира този потребител"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1168,141 +1246,171 @@ msgstr "Да"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Блокиране на потребителя"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Грешка при записване данните за блокирането."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Няма такава група"
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "Блокирани за %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s и приятели, страница %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "Списък с потребителите в тази група."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Разблокиране на потребителя от групата"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Разблокиране"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Разблокиране на този потребител"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "групи в %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Няма код за потвърждение."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Кодът за потвърждение не е открит."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Този код за потвърждение не е за вас!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "Неразпознат вид адрес %s"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Този адрес е вече потвърден."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Грешка при обновяване на потребителя."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Грешка при изтриване потвърждението по е-поща."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Потвърждаване на адрес"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Адресът \"%s\" е потвърден за сметката ви."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Разговор"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Бележки"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "За да изтриете приложение, трябва да сте влезли."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Приложението не е открито."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Не сте собственик на това приложение."
@@ -1310,15 +1418,18 @@ msgstr "Не сте собственик на това приложение."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Имаше проблем със сесията ви в сайта."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Изтриване на приложението"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1326,12 +1437,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Да не се изтрива приложението"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Изтриване на това приложение"
 
@@ -1368,13 +1479,14 @@ msgstr "Грешка при обновяване на групата."
 msgid "Deleted group %s"
 msgstr "%1$s напусна групата %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Изтриване на потребител"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1394,42 +1506,50 @@ msgstr "Да не се изтрива бележката"
 msgid "Delete this group"
 msgstr "Изтриване на този потребител"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Не сте влезли в системата."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Грешка при изтриване на бележката."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr "Ще изтриете напълно бележката. Изтриването е невъзвратимо."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Изтриване на бележката"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Наистина ли искате да изтриете тази бележка?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Да не се изтрива бележката"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Изтриване на бележката"
 
@@ -1518,12 +1638,14 @@ msgstr "Нова бележка"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Смяна на изображението за фон"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Фон"
 
@@ -1537,42 +1659,50 @@ msgstr ""
 "2MB."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Вкл."
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Изкл."
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 #, fuzzy
 msgid "Turn background image on or off."
 msgstr "Смяна на изображението за фон"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "Смяна на изображението за фон"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Смяна на цветовете"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Съдържание"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Страничен панел"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Текст"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Лиценз"
 
@@ -1584,29 +1714,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr ""
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr ""
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Запазване"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 #, fuzzy
 msgid "Save design"
 msgstr "Запазване настройките на сайта"
@@ -1653,9 +1785,9 @@ msgid "Name is required."
 msgstr "Името е задължително."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Пълното име е твърде дълго (макс. 255 знака)"
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1687,7 +1819,7 @@ msgid "Organization is required."
 msgstr "Описанието е задължително."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Името на организацията е твърде дълго (макс. 255 знака)."
@@ -1713,51 +1845,51 @@ msgstr ""
 msgid "Could not update application."
 msgstr "Грешка при обновяване на групата."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Редактиране на групата %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "За да създавате група, трябва да сте влезли."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "За да редактирате група, трябва да сте влезли."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 #, fuzzy
 msgid "Use this form to edit the group."
 msgstr "Използвайте тази бланка за създаване на нова група."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Описанието е твърде дълго (до %d символа)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Неправилен псевдоним: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Грешка при обновяване на групата."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 #, fuzzy
 msgid "Could not create aliases."
 msgstr "Грешка при отбелязване като любима."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Настройките са запазени."
 
@@ -1952,6 +2084,12 @@ msgstr "Няма потвърждения, очакващи да бъдат от
 msgid "That is the wrong email address."
 msgstr "Грешен IM адрес."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Грешка при изтриване потвърждението по е-поща."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2029,7 +2167,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Любими бележки на %s"
@@ -2132,19 +2270,23 @@ msgstr "Не можете да заглушавате потребители н
 msgid "User already has this role."
 msgstr "Потребителят вече е заглушен."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Не е указан профил."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Не е открит профил с такъв идентификатор."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Не е указана група."
@@ -2207,8 +2349,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 #, fuzzy
 msgid "Couldn't update your design."
 msgstr "Грешка при обновяване на потребителя."
@@ -2228,6 +2372,14 @@ msgid ""
 msgstr ""
 "Можете да качите личен аватар тук. Максималната големина на файла е %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Качване"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Изрязване"
+
 #: actions/grouplogo.php:365
 #, fuzzy
 msgid "Pick a square area of the image to be the logo."
@@ -2363,16 +2515,19 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 #, fuzzy
 msgid "Only an admin can unblock group members."
 msgstr "Само администратор може да блокира членове от групата."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Потребителят вече е блокиран за групата."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Грешка при повтаряне на бележката."
 
@@ -2460,7 +2615,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Публикуване на MicroID за адреса в Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Настройките са запазени."
 
@@ -2584,10 +2739,9 @@ msgstr[1] "Вече сте абонирани за следните потреб
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2771,8 +2925,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Името на местоположението е твърде дълго (макс. 255 знака)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2949,30 +3104,22 @@ msgstr "За да редактирате приложение, трябва да
 msgid "Use this form to register a new application."
 msgstr "Използвайте тази бланка за създаване на нова група."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Пълното име е твърде дълго (макс. 255 знака)"
-
 #: actions/newapplication.php:184
 #, fuzzy
 msgid "Source URL is required."
 msgstr "Името е задължително."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Името на организацията е твърде дълго (макс. 255 знака)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 #, fuzzy
 msgid "Could not create application."
 msgstr "Грешка при отбелязване като любима."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Нова група"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Използвайте тази бланка за създаване на нова група."
@@ -2982,14 +3129,14 @@ msgid "New message"
 msgstr "Ново съобщение"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Не може да изпращате съобщения до този потребител."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Няма съдържание!"
 
@@ -2998,7 +3145,7 @@ msgid "No recipient specified."
 msgstr "Не е указан получател."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3011,12 +3158,12 @@ msgstr "Съобщението е изпратено"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "Прякото съобщение до %s е изпратено."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Грешка в Ajax"
 
@@ -3024,17 +3171,7 @@ msgstr "Грешка в Ajax"
 msgid "New notice"
 msgstr "Нова бележка"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Твърде дълго. Може да е най-много %d знака."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Бележката е публикувана"
 
@@ -3166,25 +3303,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Потребителят няма профил."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Бележка на %1$s от %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "вид съдържание "
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Неподдържан формат на данните"
@@ -3197,36 +3334,46 @@ msgstr "Търсене на хора"
 msgid "Notice Search"
 msgstr "Търсене на бележки"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Други настройки"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Управление на различни други настройки."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (безплатна услуга)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Съкращаване на адресите с"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Услуга за автоматично съкращаване, която да се ползва."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Редактиране на профила"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Услугата за съкращаване е твърде дълга (може да е до 50 знака)."
 
 #: actions/otp.php:69
@@ -3665,8 +3812,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "От 1 до 64 малки букви или цифри, без пунктоация и интервали"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Пълно име"
@@ -3706,9 +3854,10 @@ msgid "Bio"
 msgstr "За мен"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Местоположение"
@@ -4038,7 +4187,8 @@ msgid "Unexpected password reset."
 msgstr "Неочаквано подновяване на паролата."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Паролата трябва да е от поне 6 знака."
 
 #: actions/recoverpassword.php:369
@@ -4278,7 +4428,7 @@ msgid "Repeated!"
 msgstr "Повторено!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Отговори на %s"
@@ -4407,11 +4557,12 @@ msgstr "Организация"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Описание"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Статистики"
@@ -4430,6 +4581,11 @@ msgstr "Данни за приложението"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Изтриване"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Данни за приложението"
@@ -4515,78 +4671,107 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Така можете да споделите какво харесвате."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Група %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s, страница %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Профил на групата"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Бележка"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Псевдоними"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 #, fuzzy
 msgid "Group actions"
 msgstr "Потребителски действия"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Емисия с бележки на %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Емисия с бележки на %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Емисия с бележки на %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Изходяща кутия за %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Членове"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Без)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Всички членове"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Създадена на"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Членове"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4596,7 +4781,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4605,24 +4793,31 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Администратори"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Няма такова съобщение"
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Само подателят и получателят могат да четат това съобщение."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Съобщение до %1$s в %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Съобщение от %1$s в %2$s"
@@ -4631,60 +4826,84 @@ msgstr "Съобщение от %1$s в %2$s"
 msgid "Notice deleted."
 msgstr "Бележката е изтрита."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, страница %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "Бележки с етикет %s"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, страница %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Емисия с бележки на %s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Емисия с бележки на %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Емисия с бележки на %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Емисия с бележки на %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF за %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4693,7 +4912,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4701,7 +4922,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Повторения на %s"
@@ -4813,33 +5035,40 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Бележки"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Ново съобщение"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Грешка при записване настройките за Twitter"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Изтриване на бележката"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Запазване настройките на сайта"
 
@@ -5061,12 +5290,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Запазване настройките на сайта"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Не сте абонирани за този профил"
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Грешка при добавяне на нов абонамент."
 
@@ -5295,81 +5526,98 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Потребител"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Профил"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 #, fuzzy
 msgid "Bio Limit"
 msgstr "Ограничения"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Нови потребители"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 #, fuzzy
 msgid "New user welcome"
 msgstr "Нови потребители"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "Пълното име е твърде дълго (макс. 255 знака)"
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Всички абонаменти"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "Автоматично абониране за всеки, който се абонира за мен (подходящо за "
 "ботове)."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Покани"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Поканите са включени"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5478,12 +5726,14 @@ msgstr "Грешка при четене адреса на аватара '%s'"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Грешен вид изображение за '%s'"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Настройки на профила"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5568,7 +5818,7 @@ msgid "Plugins"
 msgstr "Приставки"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Версия"
 
@@ -5601,29 +5851,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "Неправилен размер."
@@ -5760,40 +6019,47 @@ msgid "Problem saving notice."
 msgstr "Проблем при записване на бележката."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "Проблем при записване на бележката."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5867,32 +6133,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Добре дошли в %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Грешка при създаване на групата."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Грешка при създаване на групата."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Грешка при създаване на групата."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Грешка при запазване на етикетите."
 
@@ -5943,200 +6209,207 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Неозаглавена страница"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 #, fuzzy
 msgid "Primary site navigation"
 msgstr "Основна настройка на сайта"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Лично"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Промяна на поща, аватар, парола, профил"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Сметка"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Свързване към услуги"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Свързване"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Промяна настройките на сайта"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 #, fuzzy
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Настройки"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Поканете приятели и колеги да се присъединят към вас в %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Покани"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Излизане от сайта"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Изход"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Създаване на нова сметка"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Регистриране"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Влизане в сайта"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Вход"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Помощ"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Помощ"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Търсене за хора или бележки"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Търсене"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 #, fuzzy
 msgid "Site notice"
 msgstr "Нова бележка"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr ""
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 #, fuzzy
 msgid "Page notice"
 msgstr "Нова бележка"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Основна настройка на сайта"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Помощ"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Относно"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Въпроси"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Условия"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Поверителност"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Изходен код"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Контакт"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Табелка"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Лиценз на програмата StatusNet"
 
@@ -6144,7 +6417,7 @@ msgstr "Лиценз на програмата StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6154,7 +6427,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** е услуга за микроблогване."
@@ -6163,7 +6436,7 @@ msgstr "**%%site.name%%** е услуга за микроблогване."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6175,50 +6448,50 @@ msgstr ""
 "licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Лиценз на съдържанието"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Страниране"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "След"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Преди"
 
@@ -6303,7 +6576,7 @@ msgid "User configuration"
 msgstr "Настройка на пътищата"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Потребител"
 
@@ -6577,7 +6850,7 @@ msgid "AJAX error"
 msgstr "Грешка в Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Командата е изпълнена"
 
@@ -6594,7 +6867,7 @@ msgstr "Не е открита бележка с такъв идентифика
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "Потребителят няма последна бележка"
@@ -6664,6 +6937,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6701,139 +6982,146 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Съобщението е твърде дълго. Най-много може да е %1$d знака, а сте въвели %2"
+"$d."
+msgstr[1] ""
 "Съобщението е твърде дълго. Най-много може да е %1$d знака, а сте въвели %2"
 "$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Грешка при изпращане на прякото съобщение"
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Бележката от %s е повторена"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Грешка при повтаряне на бележката."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Съобщението е твърде дълго. Най-много може да е 140 знака, а сте въвели %d."
+msgstr[1] ""
 "Съобщението е твърде дълго. Най-много може да е 140 знака, а сте въвели %d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "Отговорът до %s е изпратен"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Грешка при записване на бележката."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "Уточнете името на потребителя, за когото се абонирате."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Не сте абонирани за този профил"
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Уточнете името на потребителя, от когото се отписвате."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Командата все още не се поддържа."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Уведомлението е изключено."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Грешка при изключване на уведомлението."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Уведомлението е включено."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Грешка при включване на уведомлението."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Не сте абонирани за никого."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Вече сте абонирани за следните потребители:"
@@ -6841,14 +7129,14 @@ msgstr[1] "Вече сте абонирани за следните потреб
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Никой не е абониран за вас."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Грешка при абониране на друг потребител за вас."
@@ -6856,21 +7144,21 @@ msgstr[1] "Грешка при абониране на друг потребит
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Не членувате в нито една група."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Не членувате в тази група."
 msgstr[1] "Не членувате в тази група."
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6978,10 +7266,13 @@ msgstr "Изтриване на приложението"
 msgid "Database error"
 msgstr "Грешка в базата от данни"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Качване на файл"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -6989,14 +7280,29 @@ msgstr ""
 "Можете да качите лично изображение за фон. Максималната големина на файла е "
 "2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Вкл."
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Изкл."
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Обновяване"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -7024,7 +7330,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7062,7 +7369,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "От 1 до 64 малки букви или цифри, без пунктоация и интервали"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "Адрес на страница, блог или профил в друг сайт на групата"
 
 #: lib/groupeditform.php:168
@@ -7070,20 +7378,29 @@ msgid "Describe the group or topic"
 msgstr "Опишете групата или темата"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Опишете групата или темата в до %d букви"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Опишете групата или темата в до %d букви"
+msgstr[1] "Опишете групата или темата в до %d букви"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Къде се намира групата — град, община, държава и т.н. (ако е приложимо)"
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7183,39 +7500,57 @@ msgstr "Страницата не е достъпна във вида медия
 msgid "Unsupported image file format."
 msgstr "Форматът на файла с изображението не се поддържа."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Може да качите лого за групата ви."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Частично качване на файла."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Системна грешка при качване на файл."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Файлът не е изображение или е повреден."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Няма такъв файл."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Неподдържан вид файл"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7417,7 +7752,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) отбеляза бележката ви като любима"
@@ -7427,7 +7762,7 @@ msgstr "%s (@%s) отбеляза бележката ви като любима"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7449,7 +7784,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7459,7 +7794,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) отбеляза бележката ви като любима"
@@ -7470,7 +7805,7 @@ msgstr "%s (@%s) отбеляза бележката ви като любима"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7527,7 +7862,7 @@ msgstr "Това не е вашият входящ адрес."
 msgid "Sorry, no incoming email allowed."
 msgstr "Входящата поща не е разрешена."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Форматът на файла с изображението не се поддържа."
@@ -7589,7 +7924,7 @@ msgstr "Грешка при изтриване на любима бележка.
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7598,7 +7933,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7739,31 +8074,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Грешка при добавяне на нов абонамент."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Лично"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Отговори"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Любими"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Входящи"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Получените от вас съобщения"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Изходящи"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Изпратените от вас съобщения"
 
@@ -7873,16 +8208,17 @@ msgid "Sandbox this user"
 msgstr "Разблокиране на този потребител"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Търсене в сайта"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Ключови думи"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7963,6 +8299,12 @@ msgstr ""
 msgid "None"
 msgstr "Без"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Неправилен размер."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7972,8 +8314,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Неуспешно обновяване на аватара."
@@ -7984,29 +8326,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Грешка при изпращане на прякото съобщение"
 
@@ -8014,6 +8359,13 @@ msgstr "Грешка при изпращане на прякото съобще
 msgid "Top posters"
 msgstr "Най-често пишещи"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Разблокиране"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8187,17 +8539,22 @@ msgstr[1] ""
 "Съобщението е твърде дълго. Най-много може да е %1$d знака, а сте въвели %2"
 "$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Не е указана група."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 9af1591ac69dcf29c7e32edc093a111f74a51e8f..d89f3ae7d0536fd6daf09e820604966e9ed080fd 100644 (file)
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:47+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:04+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -42,7 +42,8 @@ msgstr "Enskrivadur"
 #. TRANS: Checkbox instructions for admin setting "Private".
 #: actions/accessadminpanel.php:155
 msgid "Prohibit anonymous users (not logged in) from viewing site?"
-msgstr "Nac'h ouzh an implijerien dizanv (nann-luget) da welet al lec'hienn ?"
+msgstr ""
+"Nac'h ouzh an implijerien dizanv (nann-kevreet) da welet al lec'hienn ?"
 
 #. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
 #: actions/accessadminpanel.php:157
@@ -78,15 +79,22 @@ msgstr "Enrollañ an arventennoù moned"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Enrollañ"
@@ -117,6 +125,7 @@ msgstr "N'eus ket eus ar bajenn-se."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -129,14 +138,14 @@ msgstr "N'eus ket eus ar bajenn-se."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "N'eus ket eus an implijer-se."
@@ -153,7 +162,7 @@ msgstr "%1$s hag e vignoned, pajenn %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s hag e vignoned"
@@ -205,7 +214,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -303,11 +314,12 @@ msgstr "Diposubl eo hizivaat an implijer."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -320,11 +332,13 @@ msgstr "Diposubl eo enrollañ ar profil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -500,44 +514,54 @@ msgstr "Diposubl eo termeniñ an implijer mammenn."
 msgid "Could not find target user."
 msgstr "Diposubl eo kavout an implijer pal."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 #, fuzzy
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "1 da 64 lizherenn vihan pe sifr, hep poentaouiñ nag esaouenn"
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Implijet eo dija al lesanv-se. Klaskit unan all."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "N'eo ket ul lesanv mat."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "N'eo ket chomlec'h al lec'hienn personel un URL reizh."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -546,10 +570,14 @@ msgstr "Re hir eo an anv klok (255 arouezenn d'ar muiañ)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -557,9 +585,11 @@ msgstr[0] "Re hir eo an deskrivadur (%d arouezenn d'ar muiañ)."
 msgstr[1] "Re hir eo an deskrivadur (%d arouezenn d'ar muiañ)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -567,7 +597,12 @@ msgstr "Re hir eo al lec'hiadur (255 arouezenn d'ar muiañ)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -583,15 +618,19 @@ msgstr "Alias fall : \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Implijet e vez an alias \"%s\" dija. Klaskit gant unan all."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Ne c'hell ket an alias bezañ ar memes hini eget al lesanv."
 
@@ -697,21 +736,21 @@ msgid "Request token already authorized."
 msgstr "N'oc'h ket aotreet."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Ur gudenn 'zo bet gant ho jedaouer dalc'h. Mar plij adklaskit."
 
@@ -727,17 +766,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Ur fazi 'zo bet en ur ensoc'hañ an avatar"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Kinnig ar furmskrid dic'hortoz."
 
@@ -774,16 +815,16 @@ msgstr ""
 
 #. TRANS: Fieldset legend.
 #: actions/apioauthauthorize.php:455
-#, fuzzy
 msgctxt "LEGEND"
 msgid "Account"
 msgstr "Kont"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -811,22 +852,19 @@ msgstr "Nullañ"
 
 #. TRANS: Button text that when clicked will allow access to an account by an external application.
 #: actions/apioauthauthorize.php:485
-#, fuzzy
 msgctxt "BUTTON"
 msgid "Allow"
 msgstr "Aotreañ"
 
 #. TRANS: Form instructions.
 #: actions/apioauthauthorize.php:502
-#, fuzzy
 msgid "Authorize access to your account information."
-msgstr "Aotreañ pe nac'hañ ar moned da ditouroù ho kont."
+msgstr "Aotreañ ar moned da ditouroù ho kont."
 
 #. TRANS: Header for user notification after revoking OAuth access to an application.
 #: actions/apioauthauthorize.php:594
-#, fuzzy
 msgid "Authorization canceled."
-msgstr "Nullet eo bet kadarnadenn ar bostelerezh prim."
+msgstr "Nullet eo bet aotre."
 
 #. TRANS: User notification after revoking OAuth access to an application.
 #. TRANS: %s is an OAuth token.
@@ -837,9 +875,8 @@ msgstr ""
 
 #. TRANS: Title of the page notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:621
-#, fuzzy
 msgid "You have successfully authorized the application"
-msgstr "N'oc'h ket aotreet."
+msgstr "Aotreet ho peus ar poellad."
 
 #. TRANS: Message notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:625
@@ -851,9 +888,9 @@ msgstr ""
 #. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
 #: actions/apioauthauthorize.php:632
-#, fuzzy, php-format
+#, php-format
 msgid "You have successfully authorized %s"
-msgstr "N'oc'h ket aotreet."
+msgstr "Aotreet ho peus %s"
 
 #. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
@@ -877,20 +914,21 @@ msgstr "Ne c'helloc'h ket dilemel statud un implijer all."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "N'eus ket eus an ali-se."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Ne c'helloc'h ket adlavar ho alioù."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Kemenn bet adkemeret dija."
 
@@ -911,7 +949,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -926,7 +965,7 @@ msgstr "N'eo ket bet kavet an hentenn API !"
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1032,104 +1071,136 @@ msgstr "Hentenn API war sevel."
 msgid "User not found."
 msgstr "N'eo ket bet kavet an hentenn API !"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "N'eo ket bet kavet ar restr stag."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Lesanv ebet."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Ment ebet."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ment direizh."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Implijer hep profil klotus."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Arventennoù an avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Orin"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Rakwelet"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
-msgstr "Diverkañ"
+msgstr "Dilemel"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Enporzhiañ"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Adframmañ"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "N'eus bet enporzhiet restr ebet."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Diuzit ur zonenn gant ur stumm karrez evit tremeniñ ho avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Kollet eo bet roadennoù."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Hizivaet eo bet an avatar."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Ur gudenn 'zo bet e-pad hizivadenn an avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Dilammet eo bet an Avatar."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Stanket ho peus dija an implijer-mañ."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Stankañ an implijer-mañ"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1142,8 +1213,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1151,7 +1222,7 @@ msgstr "Ket"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Arabat stankañ an implijer-mañ"
 
@@ -1161,8 +1232,8 @@ msgstr "Arabat stankañ an implijer-mañ"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1170,141 +1241,170 @@ msgstr "Ya"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Stankañ an implijer-mañ"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Diposubl eo enrollañ an titouroù stankañ."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "N'eus ket eus ar strollad-se."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s profil stanket"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s profil stanket, pajenn %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr ""
 "Ur roll eus an implijerien evit pere eo stanket an enskrivadur d'ar strollad."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Distankañ implijer ar strollad"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Distankañ"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Distankañ an implijer-mañ"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Postañ war %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Kod kadarnaat ebet."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "N'eo ket bet kavet ar c'hod kadarnaat."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "N'eo ket ar c'hod-se evidoc'h !"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Doare chomlec'h dianav %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Kadarnaet eo bet dija ar chomlec'h-mañ."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Diposubl eo hizivaat an implijer."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Diposubl eo dilemel ar postel kadarnadur."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Chomlec'h kadarnaet"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Kadarnaet eo bet ar chomlec'h \"%s\" evit ho kont."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Kaozeadenn"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Ali"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Rankout a reoc'h bezañ kevreet evit dilemel ur poellad."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "N'eo ket bet kavet ar poellad"
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "N'oc'h ket perc'henn ar poellad-se."
@@ -1312,15 +1412,18 @@ msgstr "N'oc'h ket perc'henn ar poellad-se."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Ur gudenn 'zo bet gant ho jedaouer dalc'h."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Dilemel ar poelad"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1328,12 +1431,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Arabat eo dilemel ar poellad-mañ"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Dilemel ar poelad-se"
 
@@ -1369,13 +1472,13 @@ msgstr "Diposubl eo hizivaat ar strollad."
 msgid "Deleted group %s"
 msgstr "%1$s en deus kuitaet ar strollad %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
-#, fuzzy
 msgid "Delete group"
-msgstr "Diverkañ an implijer"
+msgstr "Dilemel ar strollad"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1395,42 +1498,50 @@ msgstr "Arabat dilemel ar c'hemenn-mañ"
 msgid "Delete this group"
 msgstr "Diverkañ an implijer-mañ"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
-msgstr "Nann-luget."
+msgstr "Nann-kevreet."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Dibosupl eo dilemel ar c'hemenn-mañ."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Dilemel un ali"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Ha sur oc'h ho peus c'hoant dilemel ar c'hemenn-mañ ?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Arabat dilemel ar c'hemenn-mañ"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Dilemel ar c'hemenn-mañ"
 
@@ -1490,9 +1601,8 @@ msgid "Site logo"
 msgstr "Logo al lec'hienn"
 
 #: actions/designadminpanel.php:457
-#, fuzzy
 msgid "SSL logo"
-msgstr "Logo al lec'hienn"
+msgstr "Logo SSL"
 
 #: actions/designadminpanel.php:469
 msgid "Change theme"
@@ -1514,12 +1624,14 @@ msgstr "Dodenn personelaet"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Kemmañ ar skeudenn foñs"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Background"
 
@@ -1531,40 +1643,48 @@ msgid ""
 msgstr ""
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Gweredekaet"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Diweredekaet"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Gweredekaat pe diweredekaat ar skeudenn foñs."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Adober gant ar skeudenn drekleur"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Kemmañ al livioù"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Endalc'h"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barenn kostez"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Testenn"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Liammoù"
 
@@ -1576,29 +1696,31 @@ msgstr "Araokaet"
 msgid "Custom CSS"
 msgstr "CSS personelaet"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Implijout an talvoudoù dre ziouer"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Adlakaat an neuz dre ziouer."
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Adlakaat an arventennoù dre ziouer"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Enrollañ"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Enrollañ an design"
 
@@ -1642,9 +1764,9 @@ msgid "Name is required."
 msgstr "Ret eo lakaat un anv."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Re hir eo an anv (255 arouezenn d'ar muiañ)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1673,7 +1795,7 @@ msgid "Organization is required."
 msgstr "Ezhomm 'zo eus an aozadur."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Re hir eo an aozadur (255 arouezenn d'ar muiañ)."
@@ -1697,49 +1819,49 @@ msgstr "N'eo ket mat an URL kounadur (Callback)."
 msgid "Could not update application."
 msgstr "Diposubl eo hizivaat ar poellad"
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Kemmañ ar strollad  %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Rankout a reoc'h bezañ luget evit krouiñ ur strollad."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Rankout a reer bezañ merour evit kemmañ ar strollad."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Leunit ar furmskrid-mañ evit kemmañ dibarzhioù ar strollad."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Re hir eo an deskrivadur (%d arouezenn d'ar muiañ)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Re a aliasoù ! %d d'ar muiañ."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Alias fall : \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Diposubl eo hizivaat ar strollad."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Diposubl eo krouiñ an aliasoù."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Enrollet eo bet ho dibarzhioù."
 
@@ -1931,6 +2053,12 @@ msgstr "Kadarnadenn ebet da vezañ nullet."
 msgid "That is the wrong email address."
 msgstr "N'eo ket mat ar chomlec'h postelerezh prim."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Diposubl eo dilemel ar postel kadarnadur."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2010,7 +2138,7 @@ msgstr ""
 "gentañ da embann un dra !"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Alioù pennrollet eus %s"
@@ -2111,19 +2239,23 @@ msgstr "Ne c'helloc'h ket reiñ rolloù d'an implijerien eus al lec'hienn-mañ."
 msgid "User already has this role."
 msgstr "An implijer-mañ en deus dija ar roll-mañ."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "N'eo bet resisaet profil ebet"
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "N'eus profil ebet gant an ID-mañ."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "N'eo bet resisaet strollad ebet"
@@ -2186,8 +2318,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Diposubl eo hizivaat ho design."
 
@@ -2205,6 +2339,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr ""
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Enporzhiañ"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Adframmañ"
+
 #: actions/grouplogo.php:365
 #, fuzzy
 msgid "Pick a square area of the image to be the logo."
@@ -2344,15 +2486,18 @@ msgstr ""
 "Perak ne [groufec'h ket ur gont](%%action.register%%) ha bezañ an hini "
 "gentañ da embann un dra !"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "N'eus nemet ur merour a c'hell distankañ izili ur strollad."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "N'eo ket stanket an implijer-mañ eus ar strollad."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Ur fazi a zo bet e-pad nulladenn ar stankadenn."
 
@@ -2435,7 +2580,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Embann ur MicroID evit ma chomlec'h Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Penndibaboù enrollet"
 
@@ -2529,15 +2674,14 @@ msgstr "Rankout a reoc'h bezañ luget evit pediñ implijerien all e %s."
 #. TRANS: Form validation message when providing an e-mail address that does not validate.
 #. TRANS: %s is an invalid e-mail address.
 #: actions/invite.php:77
-#, fuzzy, php-format
+#, php-format
 msgid "Invalid email address: %s."
-msgstr "Fall eo ar postel : %s"
+msgstr "Fall eo ar postel : %s."
 
 #. TRANS: Page title when invitations have been sent.
 #: actions/invite.php:116
-#, fuzzy
 msgid "Invitations sent"
-msgstr "Pedadenn(où) kaset"
+msgstr "Pedadenn kaset"
 
 #. TRANS: Page title when inviting potential users.
 #: actions/invite.php:119
@@ -2557,10 +2701,9 @@ msgstr[1] "Koumanantet oc'h dija d'an implijerien-mañ :"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2718,8 +2861,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Re hir eo al lec'hiadur (255 arouezenn d'ar muiañ)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2894,28 +3038,20 @@ msgstr "Ret eo deoc'h bezañ luget evit enrollañ ur poellad."
 msgid "Use this form to register a new application."
 msgstr "Implijit ar furmskrid-mañ evit enskrivañ ur poellad nevez."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Re hir eo an anv (255 arouezenn d'ar muiañ)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Ezhomm 'zo eus ar vammenn URL."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Re hir eo an aozadur (255 arouezenn d'ar muiañ)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "N'eo ket posubl krouiñ ar poellad."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Strollad nevez"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Implijit ar furmskrid-mañ a-benn krouiñ ur strollad nevez."
@@ -2925,14 +3061,14 @@ msgid "New message"
 msgstr "Kemennadenn nevez"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Ne c'helloc'h ket kas kemennadennoù d'an implijer-mañ."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Goullo eo !"
 
@@ -2941,7 +3077,7 @@ msgid "No recipient specified."
 msgstr "N'ho peus ket lakaet a resever."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2954,12 +3090,12 @@ msgstr "Kemennadenn kaset"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Kaset eo bet da %s ar gemennadenn war-eeun."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Fazi Ajax"
 
@@ -2967,17 +3103,7 @@ msgstr "Fazi Ajax"
 msgid "New notice"
 msgstr "Ali nevez"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Re hir eo ! Ment hirañ an ali a zo a %d arouezenn."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Ali embannet"
 
@@ -3111,25 +3237,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "N'en deus ket an ali a profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Statud %1$s war %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "seurt an danvez "
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 #, fuzzy
 msgid "Not a supported data format."
@@ -3143,38 +3269,47 @@ msgstr "Klask tud"
 msgid "Notice Search"
 msgstr "Klask alioù"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Arventennoù all"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Dibarzhioù all da gefluniañ."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr "  (servij digoust)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr ""
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 #, fuzzy
 msgid "View profile designs"
 msgstr "Design ar profil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Diskouez pe kuzhat designoù ar profil."
 
-#: actions/othersettings.php:153
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
 #, fuzzy
-msgid "URL shortening service is too long (max 50 chars)."
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Re hir eo ar yezh (255 arouezenn d'ar muiañ)."
 
 #: actions/otp.php:69
@@ -3618,8 +3753,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1 da 64 lizherenn vihan pe sifr, hep poentaouiñ nag esaouenn"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Anv klok"
@@ -3659,9 +3795,10 @@ msgid "Bio"
 msgstr "Buhezskrid"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Lec'hiadur"
@@ -3999,7 +4136,8 @@ msgid "Unexpected password reset."
 msgstr "Adderaouekadur dic'hortoz ar ger-tremen."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Rankout a ra ar ger-tremen bezañ 6 arouezenn d'an nebeutañ."
 
 #: actions/recoverpassword.php:369
@@ -4223,7 +4361,7 @@ msgid "Repeated!"
 msgstr "Adlavaret !"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respontoù da %s"
@@ -4353,11 +4491,12 @@ msgstr "Aozadur"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Deskrivadur"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Stadegoù"
@@ -4375,6 +4514,11 @@ msgstr "Obererezhioù ar poellad"
 msgid "Reset key & secret"
 msgstr "Adderaouekaat an alc'hwez hag ar sekred"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Diverkañ"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Titouroù ar poelad"
@@ -4460,77 +4604,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Un doare eo evit kevranañ ar pezh a blij deoc'h."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "strollad %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Strollad %1$s, pajenn %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Profil ar strollad"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Notenn"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliasoù"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Obererezh ar strollad"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Neudenn alioù ar strollad %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Neudenn alioù ar strollad %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Neudenn alioù ar strollad %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Mignon ur mignon evit ar strollad %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Izili"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Hini ebet)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "An holl izili"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Krouet"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Izili"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4542,7 +4713,10 @@ msgstr ""
 "%%site.name%% a zo ur servij [micro-blogging](http://br.wikipedia.org/wiki/"
 "Microblog) diazezet war ar meziant frank [StatusNet](http://status.net/)."
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4553,26 +4727,33 @@ msgstr ""
 "%%site.name%% a zo ur servij [micro-blogging](http://br.wikipedia.org/wiki/"
 "Microblog) diazezet war ar meziant frank [StatusNet](http://status.net/)."
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Merourien"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "N'eus ket eus ar gemennadenn-se."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 "Ne c'hell bezañ lennet ar gemenadenn-mañ nemet gant ar c'haser hag ar "
 "resever."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Kemanadenn kaset da %1$s d'an %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Kemenadenn resevet eus %1$s d'an %2$s"
@@ -4581,62 +4762,86 @@ msgstr "Kemenadenn resevet eus %1$s d'an %2$s"
 msgid "Notice deleted."
 msgstr "Ali dilammet."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " merket %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, pajenn %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Alioù merket gant %1$s, pajenn %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, pajenn %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Neudenn an alioù evit %1$s merket %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Neudenn an alioù evit %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Neudenn an alioù evit %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Gwazh alioù %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "mignon ur mignon evit %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 "Hemañ eo al lanvad evit %s hag e vignoned met den n'en deus skrivet tra ebet "
 "evit ar mare."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4647,7 +4852,9 @@ msgstr ""
 "%%site.name%% a zo ur servij [micro-blogging](http://br.wikipedia.org/wiki/"
 "Microblog) diazezet war ar meziant frank [StatusNet](http://status.net/)."
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4657,7 +4864,8 @@ msgstr ""
 "%%site.name%% a zo ur servij [micro-blogging](http://br.wikipedia.org/wiki/"
 "Microblog) diazezet war ar meziant frank [StatusNet](http://status.net/)."
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Adkemeret eus %s"
@@ -4770,33 +4978,41 @@ msgstr "Bevenn a doublennoù"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Ali al lec'hienn"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Kemmañ ur gemennadenn hag a zo diwar-benn al lec'hienn a-bezh"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Diposubl eo enrollañ ali al lec'hienn."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Testenn ali al lec'hienn"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 "Testenn an ali diwar-benn al lec'hienn a-bezh (255 arouezenn d'ar muiañ ; "
 "HTML gweredekaet)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Enrollañ ali ul lec'hienn"
 
@@ -5013,13 +5229,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Enrollañ arventennoù al lec'hienn"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "N'hoc'h ket koumanantet da zen ebet."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 #, fuzzy
 msgid "Could not save subscription."
 msgstr "Dibosupl eo dilemel ar c'houmanant."
@@ -5258,80 +5476,96 @@ msgstr ""
 "lec'hienn \"%2$s\"."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Implijer"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Bevenn ar bio"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Implijerien nevez"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Degemer an implijerien nevez"
 
-#: actions/useradminpanel.php:237
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
 #, fuzzy
-msgid "Welcome text for new users (Max 255 chars)."
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Re hir eo an anv (255 arouezenn d'ar muiañ)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Koumanantoù dre ziouer"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "En em enskrivañ ez emgefre d'an holl re hag en em goumanant din (erbedet "
 "evit an implijerien nann-denel)"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Pedadennoù"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Pedadennoù gweredekaet"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 #, fuzzy
 msgid "Whether to allow users to invite new users."
 msgstr "Ma rankomp merañ an dalc'hoù hon unan."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Enrollañ arventennoù an implijer"
 
@@ -5430,11 +5664,13 @@ msgstr "Dibosupl eo lenn URL an avatar \"%s\"."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Seurt skeudenn direizh evit URL an avatar \"%s\"."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Design ar profil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5519,7 +5755,7 @@ msgid "Plugins"
 msgstr "Pluginoù"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Stumm"
 
@@ -5552,29 +5788,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "Ment direizh."
@@ -5703,39 +5948,46 @@ msgid "Problem saving notice."
 msgstr "Ur gudenn 'zo bet pa veze enrollet an ali."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Ur gudenn 'zo bet pa veze enrollet boest degemer ar strollad."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Dibosupl eo enrollañ titouroù ar strollad lec'hel."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5805,32 +6057,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Deuet mat da %1$s, @%2$s !"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Dibosupl eo krouiñ ar strollad."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Dibosupl eo termeniñ URI ar strollad."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Dibosupl eo en em enskrivañ d'ar strollad."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Dibosupl eo enrollañ titouroù ar strollad lec'hel."
 
@@ -5880,196 +6132,203 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Pajenn hep anv"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 #, fuzzy
 msgid "Primary site navigation"
 msgstr "Arventennoù diazez al lec'hienn"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personel"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Kemmañ ho chomlec'h postel, hoc'h avatar, ho ger-tremen, ho profil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Kont"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Liammañ d'ar servijoù"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Kevreañ"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Kemmañ arventennoù al lec'hienn"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Merañ"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Pediñ mignoned hag kenseurted da zont ganeoc'h war %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Pediñ"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Digevreañ diouzh al lec'hienn"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Digevreañ"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Krouiñ ur gont"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "En em enskrivañ"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Kevreañ d'al lec'hienn"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Kevreañ"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Sikour din !"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Skoazell"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Klask tud pe un tamm testenn"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Klask"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Ali al lec'hienn"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Selloù lec'hel"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Ali ar bajenn"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Arventennoù diazez al lec'hienn"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Skoazell"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Diwar-benn"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAG"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "AIH"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Prevezded"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Mammenn"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Darempred"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Badj"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Aotre-implijout ar meziant StatusNet"
 
@@ -6077,7 +6336,7 @@ msgstr "Aotre-implijout ar meziant StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6085,7 +6344,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** a zo ur servij microblogging."
@@ -6094,7 +6353,7 @@ msgstr "**%%site.name%%** a zo ur servij microblogging."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6103,50 +6362,50 @@ msgid ""
 msgstr ""
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Aotre-implijout diwar-benn danvez al lec'hienn"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, fuzzy, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Kompren a ran ez eo prevez danvez ha roadennoù %1$s."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Pajennadur"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "War-lerc'h"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Kent"
 
@@ -6226,7 +6485,7 @@ msgid "User configuration"
 msgstr "Kefluniadur an implijer"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Implijer"
 
@@ -6406,7 +6665,7 @@ msgstr "Nullañ"
 
 #: lib/applicationlist.php:247
 msgid " by "
-msgstr ""
+msgstr "gant "
 
 #. TRANS: Application access type
 #: lib/applicationlist.php:260
@@ -6491,7 +6750,7 @@ msgid "AJAX error"
 msgstr "Fazi Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Urzhiad bet klokaet"
 
@@ -6507,7 +6766,7 @@ msgstr ""
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr ""
 
@@ -6577,6 +6836,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6614,138 +6881,148 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
+"arouezenn ho peus lakaet."
+msgstr[1] ""
 "Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
 "arouezenn ho peus lakaet."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Ur gudenn 'zo bet pa veze kaset ho kemennadenn."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr ""
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 #, fuzzy
 msgid "Error repeating notice."
 msgstr "Fazi en ur hizivaat ar profil a-bell."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
+"arouezenn ho peus lakaet."
+msgstr[1] ""
+"Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
+"arouezenn ho peus lakaet."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
-msgstr ""
+msgstr "Respont kaset da %s."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Ur gudenn 'zo bet pa veze enrollet an ali."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Koumanantet da %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 #, fuzzy
 msgid "Command not yet implemented."
 msgstr "Digarezit, n'eo ket bet emplementet an urzhiad-mañ c'hoazh."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Kemennoù diweredekaet."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Dibosupl eo diweredekaat ar c'hemennoù."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Kemennoù gweredekaet"
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Dibosupl eo gweredekaat ar c'hemennoù."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Digoumanatet %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "N'hoc'h ket koumanantet da zen ebet."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 #, fuzzy
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
@@ -6754,14 +7031,14 @@ msgstr[1] "You are subscribed to these people:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Den n'eo koumanantet deoc'h."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 #, fuzzy
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
@@ -6770,14 +7047,14 @@ msgstr[1] "These people are subscribed to you:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "N'oc'h ezel eus strollad ebet."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 #, fuzzy
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
@@ -6785,7 +7062,7 @@ msgstr[0] "You are a member of this group:"
 msgstr[1] "You are a member of these groups:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6892,23 +7169,41 @@ msgstr "Poeladoù kevreet."
 msgid "Database error"
 msgstr "Fazi bank roadennoù"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Enporzhiañ ar restr"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Gweredekaet"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Diweredekaet"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Adderaouekaat"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 #, fuzzy
 msgid "Design defaults restored."
 msgstr "Enrollet eo bet an arventennoù design."
@@ -6937,9 +7232,10 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Mignon ur mignon (FOAF)"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
-msgstr ""
+msgstr "Lanvioù"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
@@ -6977,7 +7273,7 @@ msgstr "1 da 64 lizherenn vihan pe sifr, hep poentaouiñ nag esaouenn"
 
 #: lib/groupeditform.php:163
 #, fuzzy
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL pajenn degemer ar poellad-mañ"
 
 #: lib/groupeditform.php:168
@@ -6987,19 +7283,27 @@ msgstr "Deskrivit ho poellad"
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Diskrivit ho poellad gant %d arouezenn"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Diskrivit ho poellad gant %d arouezenn"
+msgstr[1] "Diskrivit ho poellad gant %d arouezenn"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 #, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "El lec'h m'emaoc'h, da skouer \"Kêr, Stad (pe Rannvro), Bro\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7101,39 +7405,57 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "Diembreget eo ar furmad-se."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Re vras eo ar restr ! %d eo ar vent vrasañ evit ur restr."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Enporzhiadenn diglok."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr ""
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Restr bet kollet."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Dizanv eo seurt ar restr"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "Mo"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "Mo"
+msgstr[1] "Mo"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "Ko"
+msgstr[1] "Ko"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "Ko"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7326,7 +7648,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "Kas din ur postel pa lak unan bennak unan eus va alioù evel pennroll."
@@ -7336,7 +7658,7 @@ msgstr "Kas din ur postel pa lak unan bennak unan eus va alioù evel pennroll."
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7358,7 +7680,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7371,7 +7693,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) en deus kaset deoc'h ur c'hemenn"
@@ -7382,7 +7704,7 @@ msgstr "%s (@%s) en deus kaset deoc'h ur c'hemenn"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7443,7 +7765,7 @@ msgstr "N'eo ket ho postel."
 msgid "Sorry, no incoming email allowed."
 msgstr "Chomlec'h postel ebet o tont."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Diembreget eo ar furmad-se."
@@ -7506,7 +7828,7 @@ msgstr "Diposubl eo termeniñ an implijer mammenn."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7515,7 +7837,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7656,31 +7978,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Dibosupl eo dilemel ar c'houmanant."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Hiniennel"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respontoù"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Pennrolloù"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Boest resev"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Ar gemennadennoù ho peus resevet"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Boest kas"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Ar c'hemenadennoù kaset ganeoc'h"
 
@@ -7790,16 +8112,17 @@ msgid "Sandbox this user"
 msgstr "Distankañ an implijer-mañ"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Klask el lec'hienn"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Ger(ioù) alc'hwez"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7881,6 +8204,12 @@ msgstr ""
 msgid "None"
 msgstr "Hini ebet"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ment direizh."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7890,8 +8219,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Ur gudenn 'zo bet e-pad hizivadenn an avatar."
@@ -7902,29 +8231,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 #, fuzzy
 msgid "Error opening theme archive."
 msgstr "Fazi en ur hizivaat ar profil a-bell."
@@ -7933,6 +8265,13 @@ msgstr "Fazi en ur hizivaat ar profil a-bell."
 msgid "Top posters"
 msgstr "An implijerien an efedusañ"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Distankañ"
+
 #: lib/unsandboxform.php:69
 #, fuzzy
 msgid "Unsandbox"
@@ -8107,17 +8446,22 @@ msgstr[1] ""
 "Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
 "arouezenn ho peus lakaet."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "N'eus bet diferet ID implijer ebet."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 42d7976a0533513bebe0d8fdc6a325434c50a951..649450559cf26ed0903ef3bc0fa378a840031151 100644 (file)
@@ -2,6 +2,7 @@
 # Expored from translatewiki.net
 #
 # Author: Aleator
+# Author: Martorell
 # Author: McDutchie
 # Author: Paucabot
 # Author: SMP
@@ -13,17 +14,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:48+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:06+0000\n"
 "Language-Team: Catalan <http://translatewiki.net/wiki/Portal:ca>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ca\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -82,15 +83,22 @@ msgstr "Desa els paràmetres d'accés"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Desa"
@@ -121,6 +129,7 @@ msgstr "No existeix la pàgina."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -133,14 +142,14 @@ msgstr "No existeix la pàgina."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "No existeix l'usuari."
@@ -157,7 +166,7 @@ msgstr "%1$s i amics, pàgina %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s i amics"
@@ -213,7 +222,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -313,11 +324,12 @@ msgstr "No s'ha pogut actualitzar l'usuari."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -330,11 +342,13 @@ msgstr "No s'ha pogut desar el perfil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -510,9 +524,11 @@ msgstr "No s'ha pogut determinar l'usuari d'origen."
 msgid "Could not find target user."
 msgstr "No s'ha pogut trobar l'usuari de destinació."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -520,35 +536,43 @@ msgstr ""
 "espais."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Aquest sobrenom ja existeix. Prova un altre. "
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Sobrenom no vàlid."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "La pàgina personal no és un URL vàlid."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -557,10 +581,14 @@ msgstr "El vostre nom sencer és massa llarg (màx. 255 caràcters)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -568,9 +596,11 @@ msgstr[0] "La descripció és massa llarga (màx. %d caràcters)."
 msgstr[1] "La descripció és massa llarga (màx. %d caràcters)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -578,7 +608,12 @@ msgstr "La ubicació és massa llarga (màx. 255 caràcters)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -594,15 +629,19 @@ msgstr "L'àlies no és vàlid: «%s»."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "L'àlies «%s» ja està en ús. Proveu-ne un altre."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "L'àlies no pot ser el mateix que el sobrenom."
 
@@ -708,21 +747,21 @@ msgid "Request token already authorized."
 msgstr "No esteu autoritzat."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Sembla que hi ha hagut un problema amb la teva sessió. Prova-ho de nou, si "
@@ -740,17 +779,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Error de la base de dades en inserir l'usuari de l'aplicació OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Enviament de formulari inesperat."
 
@@ -800,9 +841,10 @@ msgstr "Compte"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -894,20 +936,21 @@ msgstr "No podeu eliminar l'estat d'un altre usuari."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "No existeix aquest avís."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "No podeu repetir els vostres propis avisos."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Avís duplicat."
 
@@ -928,7 +971,8 @@ msgstr "El client ha de proporcionar un paràmetre 'status' amb un valor."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -943,7 +987,7 @@ msgstr "No s'ha trobat el mètode API!"
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1050,107 +1094,142 @@ msgstr "Mètode API en construcció."
 msgid "User not found."
 msgstr "No s'ha trobat el mètode API!"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "No existeix l'adjunció."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Cap sobrenom."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Cap mida."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "La mida no és vàlida."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Podeu pujar el vostre avatar personal. La mida màxima del fitxer és %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "L'usuari que no coincideix amb cap perfil"
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configuració de l'avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Vista prèvia"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Elimina"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Puja"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Retalla"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "No s'ha carregat cap fitxer."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 "Selecciona un quadrat de l'àrea de la imatge que vols que sigui el teu "
 "avatar."
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "S'ha perdut el nostre fitxer de dades."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar actualitzat."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Error en actualitzar avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "S'ha eliminat l'avatar."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Ja heu blocat l'usuari."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloca l'usuari"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1166,8 +1245,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1175,7 +1254,7 @@ msgstr "No"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "No bloquis l'usuari"
 
@@ -1185,8 +1264,8 @@ msgstr "No bloquis l'usuari"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1194,140 +1273,170 @@ msgstr "Sí"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloca aquest usuari"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "No s'ha pogut desar la informació del bloc."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "No s'ha trobat el grup."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s perfils blocats"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s perfils blocats, pàgina %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Una llista d'usuaris que han estat blocats d'afegir-se a aquest grup."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Desbloca l'usuari del grup"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloca"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Desbloca l'usuari"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publica a %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Cap codi de confirmació."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Codi de confirmació no trobat. "
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Aquest codi de confirmació no és vostre!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipus d'adreça desconeguda %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Aquesta adreça ja ha estat confirmada."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "No s'ha pogut actualitzar l'usuari."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "No s'ha pogut eliminar la confirmació de correu electrònic."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "No s'ha pogut eliminar la confirmació de MI."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmeu l'adreça de correu electrònic"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "L'adreça «%s» ha estat confirmada per al vostre compte."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversa"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Avisos"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Heu d'haver iniciat una sessió per eliminar una aplicació."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "No s'ha trobat l'aplicació."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "No sou el propietari d'aquesta aplicació."
@@ -1335,15 +1444,18 @@ msgstr "No sou el propietari d'aquesta aplicació."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "S'ha produït un problema amb el testimoni de la vostra sessió."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Elimina l'aplicació"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1354,12 +1466,12 @@ msgstr ""
 "existents."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "No eliminis l'aplicació"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Elimina aquesta aplicació"
 
@@ -1395,12 +1507,13 @@ msgstr "No s'ha pogut eliminar el grup %s."
 msgid "Deleted group %s"
 msgstr "S'ha eliminat el grup %s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Elimina el grup"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1421,22 +1534,27 @@ msgstr "No eliminis aquest grup"
 msgid "Delete this group"
 msgstr "Elimina aquest grup"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "No heu iniciat una sessió."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "No es pot eliminar l'avís."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1444,21 +1562,24 @@ msgstr ""
 "Esteu a punt d'eliminar permanentment un avís. Una vegada fet, no es podrà "
 "desfer."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Elimina l'avís"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Esteu segur que voleu eliminar aquest avís?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "No eliminis aquest avís"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Elimina aquest avís"
 
@@ -1543,12 +1664,14 @@ msgstr "Tema personalitzat"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Podeu pujar un tema personalitzat de l'StatusNet amb un arxiu ZIP."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Canvia la imatge de fons"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fons"
 
@@ -1561,40 +1684,48 @@ msgstr ""
 "Podeu pujar una imatge de fons per al lloc. La mida màxima de fitxer és %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Activada"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Desactivada"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Activa o desactiva la imatge de fons."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Posa en mosaic la imatge de fons"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Canvia els colors"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Contingut"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra lateral"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Text"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Enllaços"
 
@@ -1606,29 +1737,31 @@ msgstr "Avançat"
 msgid "Custom CSS"
 msgstr "CSS personalitzat"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Utilitza els paràmetres per defecte"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaura els dissenys per defecte"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Torna a restaurar al valor per defecte"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Desa"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Desa el disseny"
 
@@ -1672,8 +1805,9 @@ msgid "Name is required."
 msgstr "Cal un nom."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+#, fuzzy
+msgid "Name is too long (maximum 255 characters)."
 msgstr "El nom és massa llarg (màx. 255 caràcters)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1702,7 +1836,7 @@ msgid "Organization is required."
 msgstr "Cal una organització."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "El camp organització és massa llarg (màx. 255 caràcters)."
 
@@ -1725,49 +1859,49 @@ msgstr "L'URL de la crida de retorn no és vàlid."
 msgid "Could not update application."
 msgstr "No s'ha pogut actualitzar l'aplicació."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Edita el grup %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Heu d'haver iniciat una sessió per crear un grup."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Heu de ser administrador per editar el grup."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Utilitza aquest formulari per editar el grup."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "La descripció és massa llarga (màx. %d caràcters)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Hi ha massa àlies! Màxim %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "L'àlies no és vàlid «%s»"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "No s'ha pogut actualitzar el grup."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "No s'han pogut crear els àlies."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Configuració guardada."
 
@@ -1961,6 +2095,12 @@ msgstr "Cap confirmació pendent per cancel·lar."
 msgid "That is the wrong email address."
 msgstr "Aquesta l'adreça de correu electrònic incorrecta."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "No s'ha pogut eliminar la confirmació de correu electrònic."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2044,7 +2184,7 @@ msgstr ""
 "afegir un avís als vostres preferits!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Avisos preferits de %s"
@@ -2141,19 +2281,23 @@ msgstr "No podeu establir rols d'usuari en aquest lloc."
 msgid "User already has this role."
 msgstr "L'usuari ja té aquest rol."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "No s'ha especificat cap perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "No hi ha cap perfil amb aquesta ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "No s'ha especificat cap grup."
@@ -2218,8 +2362,10 @@ msgstr ""
 "Personalitzeu l'aspecte del vostre grup amb una imatge de fons i una paleta "
 "de colors de la vostra elecció."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "No s'ha pogut actualitzar el vostre disseny."
 
@@ -2239,6 +2385,14 @@ msgstr ""
 "Podeu pujar una imatge com a logotip del vostre grup. La mida màxima del "
 "fitxer és %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Puja"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Retalla"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Trieu una àrea quadrada de la imatge perquè en sigui el logotip."
@@ -2381,15 +2535,18 @@ msgstr ""
 "Per què no [registreu un compte](%%action.register%%) i proveu de [crear-hi "
 "un grup](%%action.newgroup%%)!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Només un administrador pot desblocar els membres del grup."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "L'usuari no està blocat del grup."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "S'ha produït un error en eliminar el bloc."
 
@@ -2477,10 +2634,10 @@ msgstr ""
 #. TRANS: Checkbox label in IM preferences form.
 #: actions/imsettings.php:182
 msgid "Publish a MicroID for my Jabber/GTalk address."
-msgstr "Publica una MicroID per a la meva direcció de Jabber/GTalk."
+msgstr "Publica una MicroID per al meu compte de Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "S'han desat les preferències."
 
@@ -2605,10 +2762,9 @@ msgstr[1] "Ja estàs subscrit a aquests usuaris:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2795,7 +2951,8 @@ msgstr ""
 "«Tots els drets reservats»."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr ""
 "El títol de la llicència no és vàlid. La longitud màxima és 255 caràcters."
 
@@ -2973,28 +3130,20 @@ msgstr "Heu d'haver iniciat una sessió per registrar-hi una aplicació."
 msgid "Use this form to register a new application."
 msgstr "Utilitzeu aquest formulari per crear una nova aplicació."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "El nom és massa llarg (màx. 255 caràcters)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "URL d'origen requerida."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "El camp organització és massa llarg (màx. 255 caràcters)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "No s'ha pogut crear l'aplicació."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nou grup"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Utilitza aquest formulari per crear un nou grup."
@@ -3004,14 +3153,14 @@ msgid "New message"
 msgstr "Nou missatge"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "No podeu enviar un misssatge a aquest usuari."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Cap contingut!"
 
@@ -3020,7 +3169,7 @@ msgid "No recipient specified."
 msgstr "No has especificat el destinatari."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "No t'enviïs missatges a tu mateix, simplement dir-te això."
@@ -3031,12 +3180,12 @@ msgstr "S'ha enviat el missatge"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "S'ha enviat un missatge directe a %s."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax Error"
 
@@ -3044,17 +3193,7 @@ msgstr "Ajax Error"
 msgid "New notice"
 msgstr "Nou avís"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Massa llarg. La longitud màxima és de %d caràcters."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "La mida màxima de l'avís és %d caràcters, incloent l'URL de l'adjunt."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "S'ha publicat l'avís"
 
@@ -3194,25 +3333,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "L'avís no té cap perfil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "estat de %1$s a %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "El tipus de contingut %s no està permès."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Si us plau, només URL %s sobre HTTP pla."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Format de data no suportat."
@@ -3225,36 +3364,46 @@ msgstr "Cerca de gent"
 msgid "Notice Search"
 msgstr "Cerca d'avisos"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Altres paràmetres"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gestiona altres opcions diferents."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (servei gratuït)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Escurça els URL amb"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Servei d'auto-escurçament a utilitzar."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Visualitza els dissenys de perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Mostra o amaga els dissenys de perfil."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr ""
 "El servei d'auto-escurçament d'URL és massa llarga (màx. 50 caràcters)."
 
@@ -3701,8 +3850,9 @@ msgstr ""
 "1-64 lletres en minúscula o números, sense signes de puntuació o espais"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nom complet"
@@ -3742,9 +3892,10 @@ msgid "Bio"
 msgstr "Biografia"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Ubicació"
@@ -3757,7 +3908,7 @@ msgstr "On us trobeu, per exemple «ciutat, comarca (o illa), país»"
 #. TRANS: Checkbox label in form for profile settings.
 #: actions/profilesettings.php:157
 msgid "Share my current location when posting notices"
-msgstr "Comparteix la meva ubicació actual en enviar avisos"
+msgstr "Comparteix la ubicació on estic en enviar avisos"
 
 #. TRANS: Field label in form for profile settings.
 #: actions/profilesettings.php:165 actions/tagother.php:149
@@ -4088,7 +4239,8 @@ msgid "Unexpected password reset."
 msgstr "Restabliment de contrasenya inesperat."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "La contrasenya ha de tenir 6 o més caràcters."
 
 #: actions/recoverpassword.php:369
@@ -4333,7 +4485,7 @@ msgid "Repeated!"
 msgstr "Repetit!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostes a %s"
@@ -4465,11 +4617,12 @@ msgstr "Organització"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Descripció"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Estadístiques"
@@ -4487,6 +4640,11 @@ msgstr "Accions d'aplicació"
 msgid "Reset key & secret"
 msgstr "Reinicialitza la clau i la secreta"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Elimina"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informació de l'aplicació"
@@ -4579,77 +4737,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "És una forma de compartir allò que us agrada."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s grup"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "grup %1$s, pàgina %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Perfil del grup"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Avisos"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Àlies"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Accions del grup"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Canal d'avisos del grup %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Canal d'avisos del grup %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Canal d'avisos del grup %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Safata de sortida per %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membres"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Cap)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Tots els membres"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "S'ha creat"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membres"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4665,7 +4852,10 @@ msgstr ""
 "%) per formar part del grup i molt més! ([Més informació...](%%%%doc.help%%%"
 "%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4678,24 +4868,31 @@ msgstr ""
 "[StatusNet](http://status.net/). Els seus membre comparteixen missatges "
 "curts sobre llur vida i interessos. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administradors"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "No existeix el missatge."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Només el remitent i el receptor poden llegir aquest missatge."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Missatge per a %1$s a %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Missatge de %1$s a %2$s"
@@ -4704,48 +4901,68 @@ msgstr "Missatge de %1$s a %2$s"
 msgid "Notice deleted."
 msgstr "S'ha eliminat l'avís."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " etiquetats amb %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, pàgina %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Avisos etiquetats amb %1$s, pàgina %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, pàgina %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Canal d'avisos de %1$s etiquetats amb %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Canal d'avisos de %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Canal d'avisos de %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Canal d'avisos de %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF de %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 "Aquesta és la línia temporal de %1$s, però %2$s no hi ha enviat res encara."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4753,7 +4970,9 @@ msgstr ""
 "Heu vist res interessant recentment? No heu enviat cap avís encara, ara "
 "podria ser un bon moment per començar :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4762,7 +4981,9 @@ msgstr ""
 "Sigueu el primer en [enviar sobre aquest tema](%%%%action.newnotice%%%%?"
 "status_textarea=%s)!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4777,7 +4998,9 @@ msgstr ""
 "seguir els avisos de **%s** i molt més! ([Més informació...](%%%%doc.help%%%"
 "%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4788,7 +5011,8 @@ msgstr ""
 "ca.wikipedia.org/wiki/Microblogging) basat en l'eina lliure [StatusNet]"
 "(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetició de %s"
@@ -4902,31 +5126,40 @@ msgstr ""
 "Quant de temps cal que esperin els usuaris (en segons) per enviar el mateix "
 "de nou."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Avís del lloc"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Edita el missatge de tot el lloc"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "No s'ha pogut desar l'avís del lloc."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "La mida màxima per als avisos de tot el lloc és de 255 caràcters."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Text de l'avís del lloc"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Text d'avís de tot el lloc (màxim 255 caràcters, es permet l'HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Desa l'avís del lloc"
 
@@ -5145,12 +5378,14 @@ msgstr "Les instantànies s'enviaran a aquest URL"
 msgid "Save snapshot settings"
 msgstr "Desa els paràmetres de les instantànies"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "No estàs subscrit a aquest perfil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "No s'ha pogut guardar la subscripció."
 
@@ -5394,76 +5629,94 @@ msgstr ""
 "llicència del lloc, «%2$s»."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Usuari"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Paràmetres d'usuari d'aquest lloc basat en StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "El límit de la biografia no és vàlid. Cal que sigui numèric."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 "El text de benvinguda no és vàlid. La longitud màxima és de 255 caràcters."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "La subscripció per defecte no és vàlida: «%1$s» no és cap usuari."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Límit de la biografia"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Límit màxim de la biografia d'un perfil (en caràcters)."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Usuaris nous"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Benvinguda als usuaris nous"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Text de benvinguda per a nous usuaris (màx. 255 caràcters)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Subscripció per defecte"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Subscriviu automàticament els usuaris nous a aquest usuari."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitacions"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "S'han habilitat les invitacions"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Si es permet als usuaris invitar-ne de nous."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Desa els paràmetres d'usuari"
 
@@ -5571,11 +5824,13 @@ msgstr "No es pot llegir l'URL de l'avatar «%s»."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipus d'imatge incorrecta per a l'URL de l'avatar «%s»."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Disseny del perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5674,7 +5929,7 @@ msgid "Plugins"
 msgstr "Connectors"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versió"
 
@@ -5707,33 +5962,46 @@ msgstr "El Robin pensa que quelcom és impossible."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Cap fitxer pot ser major de %1$d bytes i el fitxer que heu enviat era de %2"
+"$d bytes. Proveu de pujar una versió de mida menor."
+msgstr[1] ""
 "Cap fitxer pot ser major de %1$d bytes i el fitxer que heu enviat era de %2"
 "$d bytes. Proveu de pujar una versió de mida menor."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Un fitxer d'aquesta mida excediria la vostra quota d'usuari de %d bytes."
+msgstr[1] ""
 "Un fitxer d'aquesta mida excediria la vostra quota d'usuari de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Un fitxer d'aquesta mida excediria la vostra quota mensual de %d bytes."
+msgstr[1] ""
 "Un fitxer d'aquesta mida excediria la vostra quota mensual de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "El nom del fitxer no és vàlid."
 
@@ -5863,39 +6131,47 @@ msgid "Problem saving notice."
 msgstr "S'ha produït un problema en desar l'avís."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "S'ha proporcionat un tipus incorrecte per a saveKnownGroups"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "S'ha produït un problema en desar la safata d'entrada del grup."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "No s'ha pogut desar la resposta de %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "No es pot revocar el rol «%1$s» de l'usuari #%2$d; no existeix."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5967,32 +6243,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Us donem la benvinguda a %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "No s'ha definit cap usuari únic per al mode d'usuari únic."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "No s'ha pogut crear el grup."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "No es pot definir l'URI del grup."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "No s'ha pogut establir la pertinença d'aquest grup."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "No s'ha pogut desar la informació del grup local."
 
@@ -6042,194 +6318,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Pàgina sense titol"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navegació primària del lloc"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Perfil personal i línia temporal dels amics"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Canvia l'adreça electrònica, l'avatar, la contrasenya o el perfil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Compte"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Connecta als serveis"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Connexió"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Canvia la configuració del lloc"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrador"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convida amics i coneguts perquè participin a %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Convida"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Finalitza la sessió del lloc"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Finalitza la sessió"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Crea un compte"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registre"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Inicia una sessió al lloc"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Inici de sessió"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ajuda'm!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Cerca gent o text"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Cerca"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Avís del lloc"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Vistes locals"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Avís de pàgina"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navegació del lloc secundària"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Quant a"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Preguntes més freqüents"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Termes del servei"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privadesa"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Font"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contacte"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Insígnia"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Llicència del programari StatusNet"
 
@@ -6237,7 +6520,7 @@ msgstr "Llicència del programari StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6247,7 +6530,7 @@ msgstr ""
 "site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** és un servei de microblogging."
@@ -6256,7 +6539,7 @@ msgstr "**%%site.name%%** és un servei de microblogging."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6268,27 +6551,27 @@ msgstr ""
 "org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Llicència de contingut del lloc"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "El contingut i les dades de %1$s són privades i confidencials."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 "El contingut i les dades són copyright de %1$s. Tots els drets reservats."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "El contingut i les dades són copyright dels col·laboradors. Tots els drets "
@@ -6296,7 +6579,7 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
@@ -6304,19 +6587,19 @@ msgstr ""
 "llicència %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginació"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Posteriors"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Anteriors"
 
@@ -6397,7 +6680,7 @@ msgid "User configuration"
 msgstr "Configuració de l'usuari"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Usuari"
 
@@ -6664,7 +6947,7 @@ msgid "AJAX error"
 msgstr "Ajax Error"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Comanda completada"
 
@@ -6680,7 +6963,7 @@ msgstr "No existeix cap avís amb aquest identificador."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "L'usuari no té un darrer avís."
 
@@ -6749,6 +7032,14 @@ msgstr "%1$s s'ha unit al grup %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s ha deixat el grup %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6788,114 +7079,121 @@ msgstr ""
 "%s és un perfil remot; només podeu enviar missatges directess a usuaris del "
 "mateix servidor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"El missatge és massa llarg - el màxim és %1$d caràcters, i n'heu enviat %2$d."
+msgstr[1] ""
 "El missatge és massa llarg - el màxim és %1$d caràcters, i n'heu enviat %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "S'ha produït un error en enviar el missatge directe."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "S'ha repetit l'avís de %s."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "S'ha produït un error en repetir l'avís."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "L'avís és massa llarg - el màxim és %1$d caràcters, n'heu enviat %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"L'avís és massa llarg - el màxim és %1$d caràcters, n'heu enviat %2$d."
+msgstr[1] ""
+"L'avís és massa llarg - el màxim és %1$d caràcters, n'heu enviat %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "S'ha enviat la resposta a %s."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "S'ha produït un error en desar l'avís."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Especifiqueu el nom de l'usuari al qual voleu subscriure-us."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "No es pot subscriure a perfils de OMB amb ordres."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subscrit a %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Especifiqueu el nom de l'usuari del qui voleu deixar la subscripció."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "S'ha deixat d'estar subscrit a %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Comanda encara no implementada."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Avisos desactivats."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "No es poden desactivar els avisos."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Avisos activitats."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "No es poden activar els avisos."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "L'ordre d'inici de sessió no està habilitada."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6904,20 +7202,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "S'ha cancel·lat la subscripció de %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "No esteu subscrit a ningú."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Ja estàs subscrit a aquests usuaris:"
@@ -6925,14 +7223,14 @@ msgstr[1] "Ja estàs subscrit a aquests usuaris:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Ningú no us ha subscrit."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "No pots subscriure a un altre a tu mateix."
@@ -6940,21 +7238,21 @@ msgstr[1] "No pots subscriure a un altre a tu mateix."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "No sou membre de cap grup."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Sou un membre d'aquest grup:"
 msgstr[1] "Sou un membre d'aquests grups:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7098,10 +7396,13 @@ msgstr "Aplicacions de connexió autoritzades"
 msgid "Database error"
 msgstr "Error de la base de dades"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Puja un fitxer"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7109,16 +7410,29 @@ msgstr ""
 "Podeu pujar la vostra imatge de fons personal. La mida màxima del fitxer és "
 "2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"El servidor no ha pogut gestionar tantes dades POST (%s bytes) a causa de la "
-"configuració actual."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Activada"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Desactivada"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Reinicialitza"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "S'han restaurat els paràmetres de disseny per defecte."
 
@@ -7146,7 +7460,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Canals"
 
@@ -7185,7 +7500,8 @@ msgstr ""
 "1-64 lletres en minúscula o números, sense signes de puntuació o espais"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL del teu web, blog del grup o de la temàtica"
 
 #: lib/groupeditform.php:168
@@ -7193,20 +7509,31 @@ msgid "Describe the group or topic"
 msgstr "Descriviu el grup o la temàtica"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Descriviu el grup o la temàtica en %d caràcters"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Descriviu el grup o la temàtica en %d caràcters"
+msgstr[1] "Descriviu el grup o la temàtica en %d caràcters"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Ubicació del grup, si s'hi adiu cap, com ara «ciutat, comarca (o illa), país»"
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr "Sobrenoms addicionals del grup, separats amb comes o espais, màx. %d"
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Sobrenoms addicionals del grup, separats amb comes o espais, màx. %d"
+msgstr[1] ""
+"Sobrenoms addicionals del grup, separats amb comes o espais, màx. %d"
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7306,39 +7633,57 @@ msgstr "Aquesta pàgina no està disponible en un tipus de mèdia que acceptis."
 msgid "Unsupported image file format."
 msgstr "Format d'imatge no suportat."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "La mida del fitxer és massa gran, La mida màxima és %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Càrrega parcial."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Error del sistema en pujar el fitxer."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "No és una imatge o és un fitxer corrupte."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Hem perdut el nostre fitxer."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Tipus de fitxer desconegut"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7588,7 +7933,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) ha afegit el vostre avís com a preferit"
@@ -7598,7 +7943,7 @@ msgstr "%s (@%s) ha afegit el vostre avís com a preferit"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7636,7 +7981,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7649,7 +7994,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) us ha enviat un avís a la vostra atenció"
@@ -7660,7 +8005,7 @@ msgstr "%s (@%s) us ha enviat un avís a la vostra atenció"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7743,7 +8088,7 @@ msgstr "Ho sentim, aquesta no és la vostra adreça electrònica d'entrada."
 msgid "Sorry, no incoming email allowed."
 msgstr "Ho sentim, no s'hi permet correu d'entrada."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipus de missatge no permès: %s"
@@ -7811,7 +8156,7 @@ msgstr "No s'ha pogut determinar el tipus MIME del fitxer."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7822,7 +8167,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "«%s» no és un tipus de fitxer compatible en aquest servidor."
@@ -7863,11 +8208,11 @@ msgstr "Adjunta un fitxer"
 
 #: lib/noticeform.php:213
 msgid "Share my location"
-msgstr "Comparteix la meva ubicació"
+msgstr "Comparteix la ubicació on estic"
 
 #: lib/noticeform.php:216
 msgid "Do not share my location"
-msgstr "No comparteixis la meva ubicació"
+msgstr "Amaga la ubicació on estic"
 
 #: lib/noticeform.php:217
 msgid ""
@@ -7963,31 +8308,31 @@ msgstr "Avís duplicat."
 msgid "Couldn't insert new subscription."
 msgstr "No s'ha pogut inserir una nova subscripció."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respostes"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Preferits"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Safata d'entrada"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Els teus missatges rebuts"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Safata de sortida"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Els teus missatges enviats"
 
@@ -8094,16 +8439,17 @@ msgid "Sandbox this user"
 msgstr "Posa l'usuari a l'entorn de proves"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Cerca al lloc"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Paraules clau"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8184,6 +8530,12 @@ msgstr "Núvol d'etiquetes personals"
 msgid "None"
 msgstr "Cap"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "El nom del fitxer no és vàlid."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "El servidor no pot gestionar la pujada de temes si no pot tractar ZIP."
@@ -8193,8 +8545,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Manca el fitxer del tema o la pujada ha fallat."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Ha fallat el desament del tema."
 
@@ -8203,16 +8555,20 @@ msgid "Invalid theme: bad directory structure."
 msgstr "El tema no és vàlid: l'estructura del directori no és correcta"
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"El tema pujat és massa gran; ha de tenir menys de %d bytes descomprimit."
+msgstr[1] ""
 "El tema pujat és massa gran; ha de tenir menys de %d bytes descomprimit."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "L'arxiu del tema no és vàlid: manca el fitxer css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8220,16 +8576,16 @@ msgstr ""
 "El tema conté un fitxer o un nom de carpeta que no és vàlida. Feu servir "
 "només lletres ASCII, dígits, caràcters de subratllat i el símbol de menys."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "El tema conté uns noms d'extensió de fitxer que no són segurs."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "El tema conté un tipus de fitxer «.%s», que no està permès."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "S'ha produït un error en obrir l'arxiu del tema."
 
@@ -8237,6 +8593,13 @@ msgstr "S'ha produït un error en obrir l'arxiu del tema."
 msgid "Top posters"
 msgstr "Qui més publica"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloca"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Treu de l'entorn de proves"
@@ -8405,16 +8768,21 @@ msgstr[0] ""
 msgstr[1] ""
 "El missatge és massa llarg - el màxim és %1$d caràcters, i n'heu enviat %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "Fitxer de còpia de seguretat de l'usuari %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "No s'ha especificat cap usuari; s'utilitza l'usuari de reserva."
 
-#: scripts/restoreuser.php:94
-#, php-format
-msgid "%d entries in backup."
-msgstr "%d entrades a la còpia de seguretat."
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
+#, fuzzy, php-format
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d entrades a la còpia de seguretat."
+msgstr[1] "%d entrades a la còpia de seguretat."
index 8002d4eb4b6fb27c8753b9a1c0c8f0404c664fd8..a0d6ba507ae154eae664dbb58c34e7a957f6f490 100644 (file)
@@ -1,6 +1,7 @@
 # Translation of StatusNet - Core to Czech (Česky)
 # Expored from translatewiki.net
 #
+# Author: Brion
 # Author: Koo6
 # Author: Kuvaly
 # --
@@ -10,18 +11,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:50+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:08+0000\n"
 "Language-Team: Czech <http://translatewiki.net/wiki/Portal:cs>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: cs\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n >= 2 && n <= 4) ? 1 : "
 "2 );\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -78,15 +79,22 @@ msgstr "uložit nastavení přístupu"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Uložit"
@@ -117,6 +125,7 @@ msgstr "Tady žádná taková stránka není."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -129,14 +138,14 @@ msgstr "Tady žádná taková stránka není."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Uživatel neexistuje."
@@ -153,7 +162,7 @@ msgstr "%1$s a přátelé, strana %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s a přátelé"
@@ -209,7 +218,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -308,11 +319,12 @@ msgstr "Nepodařilo se aktualizovat nastavení uživatele"
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -325,11 +337,13 @@ msgstr "Nepodařilo se uložit profil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -507,43 +521,53 @@ msgstr "Nelze určit zdrojového uživatele."
 msgid "Could not find target user."
 msgstr "Nepodařilo se najít cílového uživatele."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Přezdívka může obsahovat pouze malá písmena a čísla a žádné mezery."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Přezdívku již někdo používá. Zkuste jinou."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Není platnou přezdívkou."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Domovská stránka není platná URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -552,10 +576,14 @@ msgstr "Celé jméno je moc dlouhé (maximální délka je 255 znaků)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -564,9 +592,11 @@ msgstr[1] "Popis je příliš dlouhý (maximálně %d znaků)."
 msgstr[2] "Popis je příliš dlouhý (maximálně %d znaků)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -574,7 +604,12 @@ msgstr "Umístění je příliš dlouhé (maximálně 255 znaků)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -591,15 +626,19 @@ msgstr "Neplatný alias: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias \"%s\" se již používá. Zkuste jiný."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias nemůže být stejný jako přezdívka."
 
@@ -705,21 +744,21 @@ msgid "Request token already authorized."
 msgstr "Nejste autorizován."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Nastal problém s vaším session tokenem. Zkuste to znovu, prosím."
 
@@ -735,17 +774,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Chyba databáze při vkládání uživatele aplikace OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Nečekaný požadavek."
 
@@ -795,9 +836,10 @@ msgstr "Účet"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -891,20 +933,21 @@ msgstr "Nesmíte odstraňovat status jiného uživatele."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Žádné takové oznámení."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Nelze opakovat své vlastní oznámení."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Již jste zopakoval toto oznámení."
 
@@ -925,7 +968,8 @@ msgstr "Klient musí poskytnout 'status' parametr s hodnotou."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -941,7 +985,7 @@ msgstr " API metoda nebyla nalezena."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1048,104 +1092,139 @@ msgstr "API metoda ve výstavbě."
 msgid "User not found."
 msgstr " API metoda nebyla nalezena."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Žádná taková příloha."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Žádná přezdívka."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Žádná velikost"
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Neplatná velikost"
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Můžete nahrát váš osobní avatar. Maximální velikost souboru je %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Uživatel bez odpovídajícího profilu."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Nastavené Profilu"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Originál"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Náhled"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Odstranit"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Upload"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Oříznout"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "žádný soubor nebyl nahrán."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Vyberte čtvercovou plochu obrázku, která bude váš avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Ztratili jsme údaje souboru."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Obrázek nahrán"
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Nahrávání obrázku selhalo."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar smazán."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Jabber ID již patří jinému uživateli"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Zablokovat tohoto uživatele"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1161,8 +1240,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1170,7 +1249,7 @@ msgstr "Poznámka"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Zablokovat tohoto uživatele"
 
@@ -1180,8 +1259,8 @@ msgstr "Zablokovat tohoto uživatele"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1189,140 +1268,170 @@ msgstr "Ano"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Zablokovat tohoto uživatele"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Nepodařilo se uložit blokování."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Žádný takový uživatel."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "profily blokovány skupinou %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "blokované profily %1$s, strana  %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Seznam uživatelů blokovaných od připojení k této skupině."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Odblokovat uživatele ze skupiny"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Odblokovat"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Odblokovat tohoto uživatele"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Poslat na %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Žádný potvrzující kód."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Potvrzující kód nebyl nalezen"
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Tento potvrzující kód vám nepatří!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Neznámý typ adresy %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Adresa již byla potvrzena"
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Nelze aktualizovat uživatele"
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Nelze smazat potvrzení emailu"
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Nelze smazat potvrzení IM"
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Heslo znovu"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Adresa \"%s\" byla potvrzena pro váš účet"
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Konverzace"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Sdělení"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Pro vymazání aplikace musíte být přihlášen."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplikace nebyla nalezena."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Nejste vlastníkem této aplikace."
@@ -1330,15 +1439,18 @@ msgstr "Nejste vlastníkem této aplikace."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Nastal problém s vaším session tokenem."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Odstranit aplikaci"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1348,12 +1460,12 @@ msgstr ""
 "aplikace z databáze, včetně všech existujících uživatelských spojení."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Neodstraňujte tuto aplikaci"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Odstranit tuto aplikaci"
 
@@ -1389,13 +1501,14 @@ msgstr "Nelze aktualizovat skupinu."
 msgid "Deleted group %s"
 msgstr "%1$s opustil(a) skupinu %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Smazat uživatele"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1418,22 +1531,27 @@ msgstr "Neodstraňujte toto oznámení"
 msgid "Delete this group"
 msgstr "Odstranit tohoto uživatele"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Nejste přihlášen(a)."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Toto oznámení nelze odstranit."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1441,21 +1559,24 @@ msgstr ""
 "Chystáte se trvale odstranit oznámení. Jakmile se tak stane, nemůže se "
 "odestát."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Odstranit oznámení"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Jste si jisti, že chcete smazat tohoto oznámení?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Neodstraňujte toto oznámení"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Odstranit toto oznámení"
 
@@ -1541,12 +1662,14 @@ msgstr "Vlastní téma"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Můžete nahrát vlastní StatusNet téma jako .ZIP archiv."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Změnit obrázek na pozadí"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Pozadí"
 
@@ -1559,40 +1682,48 @@ msgstr ""
 "Můžete nahrát obrázek na pozadí stránek. Maximální velikost souboru je %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "zap."
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "vyp."
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Zapněte nebů vypněte obrázek na pozadí."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Dlaždicovat obrázek na pozadí"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Změnit barvy"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Obsah"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Boční panel"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Text"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Odkazy"
 
@@ -1604,29 +1735,31 @@ msgstr "Rozšířené"
 msgid "Custom CSS"
 msgstr "Vlastní CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Použít výchozí"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Obnovit výchozí vzhledy"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Reset zpět do výchozího"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Uložit"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Uložit vzhled"
 
@@ -1670,9 +1803,9 @@ msgid "Name is required."
 msgstr "Název je povinný."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Jméno je moc dlouhé (maximální délka je 255 znaků)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1701,7 +1834,7 @@ msgid "Organization is required."
 msgstr "Organizace je nutná."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organizace je příliš dlouhá (max 255 znaků)."
@@ -1725,49 +1858,49 @@ msgstr "Callback URL není platný."
 msgid "Could not update application."
 msgstr "Nelze aktualizovat aplikaci."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Upravit skupinu %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "K vytvoření skupiny musíte být přihlášen."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "K úpravě skupiny musíte být admin."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Použijte tento formulář k úpravám skupiny."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Popis je příliš dlouhý (maximálně %d znaků)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Příliš mnoho aliasů! Maximálně %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Neplatný alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Nelze aktualizovat skupinu."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Nelze vytvořit aliasy."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Nastavení uloženo."
 
@@ -1959,6 +2092,12 @@ msgstr "Žádné potvrzení ke zrušení."
 msgid "That is the wrong email address."
 msgstr "Toto je špatná e-mailová adresa."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Nelze smazat potvrzení emailu"
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2042,7 +2181,7 @@ msgstr ""
 "oznámení k oblíbeným!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "oblíbená oznámení uživatele %s"
@@ -2139,19 +2278,23 @@ msgstr "Nemůžete dávat uživatelské role na této stránce."
 msgid "User already has this role."
 msgstr "Uživatel již tuto roli má."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Nebyl vybrán profil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Neexistuje profil s tímto ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Nebyla vybrána skupina."
@@ -2216,8 +2359,10 @@ msgstr ""
 "Přizpůsobit vzhled skupiny obrázkem na pozadí a barevnou paletou vašeho "
 "výběru."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Nelze uložit vzhled."
 
@@ -2237,6 +2382,14 @@ msgstr ""
 "Můžete nahrát obrázek loga pro vaši skupinu. Maximální velikost souboru je %"
 "s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Upload"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Oříznout"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Vyberte čtvercovou oblast obrázku, která bude vaše logo."
@@ -2379,15 +2532,18 @@ msgstr ""
 "Proč si ne[zaregistrovat účet](%% action.register%%) a ne[vytvořit skupinu](%"
 "%action.newgroup%%) sami!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Pouze admin může odblokovat členy skupiny."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Uživatel není blokován ze skupiny."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Chyba při odstraňování bloku."
 
@@ -2476,7 +2632,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publikovat MicroID pro mou Jabber / GTalk adresu."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Nastavení uloženo"
 
@@ -2600,10 +2756,9 @@ msgstr[2] "Jste již přihlášeni k těmto uživatelům:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2787,8 +2942,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Neplatné uvítací text. Max délka je 255 znaků."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2961,28 +3117,20 @@ msgstr "Musíte být přihlášen k registraci aplikace."
 msgid "Use this form to register a new application."
 msgstr "Použijte tento formulář pro registraci nové aplikace."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Jméno je moc dlouhé (maximální délka je 255 znaků)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Zdrojové URL je nutné."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organizace je příliš dlouhá (max 255 znaků)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Nelze vytvořit aplikaci."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nová skupina"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Použijte tento formulář k vytvoření nové skupiny."
@@ -2992,7 +3140,7 @@ msgid "New message"
 msgstr "Nová zpráva"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr ""
 "Nemůžete odesílat zprávy tomuto uživateli. (musíte být vzájemně prihlášení)"
@@ -3000,7 +3148,7 @@ msgstr ""
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Chybí obsah!"
 
@@ -3009,7 +3157,7 @@ msgid "No recipient specified."
 msgstr "Neuveden příjemce."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Neposílejte si zprávu, potichu si ji pro sebe řekněte."
@@ -3020,12 +3168,12 @@ msgstr "Zpráva odeslána"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Přímá zpráva pro %s odeslána."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax Chyba"
 
@@ -3033,17 +3181,7 @@ msgstr "Ajax Chyba"
 msgid "New notice"
 msgstr "Nové sdělení"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Je to příliš dlouhé. Maximální délka sdělení je %d znaků"
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Maximální délka notice je %d znaků včetně přiložené URL."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Sdělení posláno"
 
@@ -3181,25 +3319,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Uživatel nemá profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "status %1 na %2"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Typ obsahu %s není podporován."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Only %s URLs over plain HTTP please."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Nepodporovaný formát dat."
@@ -3212,36 +3350,46 @@ msgstr "Hledání lidí"
 msgid "Notice Search"
 msgstr "Hledání oznámení"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Další nastavení"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Správa různých dalších možností."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (Služba zdarma)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Zkrácovat URL s"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Služba automatického zkracování, kterou použít."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Zobrazit vzhledy profilu"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Zobrazit nebo skrýt vzhledy profilu."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "adresa služby zkracování URL je příliš dlouhá (max. 50 znaků)."
 
 #: actions/otp.php:69
@@ -3686,8 +3834,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 znaků nebo čísel, bez teček, čárek a mezer"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Celé jméno"
@@ -3728,9 +3877,10 @@ msgid "Bio"
 msgstr "O mě"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Umístění"
@@ -4067,7 +4217,8 @@ msgid "Unexpected password reset."
 msgstr "Nečekané resetování hesla."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Heslo musí být alespoň 6 znaků dlouhé"
 
 #: actions/recoverpassword.php:369
@@ -4307,7 +4458,7 @@ msgid "Repeated!"
 msgstr "Opakované!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Odpovědi na %s"
@@ -4440,11 +4591,12 @@ msgstr "Organizace"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Popis"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistiky"
@@ -4463,6 +4615,11 @@ msgstr "Akce aplikace"
 msgid "Reset key & secret"
 msgstr "Resetovat klíč a tajemství"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Odstranit"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Info o aplikaci"
@@ -4554,77 +4711,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Toto je způsob, jak sdílet to, co se vám líbí."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "skupina %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "skupina %1$s, str. %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Profil skupiny"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Poznámka"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliasy"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Akce skupiny"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Feed sdělení skupiny %s (RSS 1.0"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Feed sdělení skupiny %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Feed sdělení skupiny %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF pro skupinu %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Členové"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(nic)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Všichni členové"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Vytvořeno"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Členové"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4633,13 +4819,16 @@ msgid ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** je skupina uživatelů na %%site.name%%, [mikro-blogovací](http://drbz."
-"cz/i/napoveda-faq#mikroblog) službě založené na Free Software nástroji "
+"**%s** je skupina uživatelů na %%%%site.name%%%%, [mikro-blogovací](http://"
+"drbz.cz/i/napoveda-faq#mikroblog) službě založené na Free Software nástroji "
 "[StatusNet](http://status.net/). Její členové sdílejí krátké zprávy o svém "
-"životě a zájmech. [Zaregistrujte se](%%action.register%%) a staňte se členem "
-"této skupiny a mnoha dalších! ([Čtěte více](%%doc.help%%))"
+"životě a zájmech. [Zaregistrujte se](%%%%action.register%%%%) a staňte se "
+"členem této skupiny a mnoha dalších! ([Čtěte více](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4647,29 +4836,36 @@ msgid ""
 "[StatusNet](http://status.net/) tool. Its members share short messages about "
 "their life and interests. "
 msgstr ""
-"**%s** je skupina uživatelů na %%site.name%%, [mikro-blogovací](http://drbz."
-"cz/i/napoveda-faq#mikroblog) službě založené na Free Software nástroji "
+"**%s** je skupina uživatelů na %%%%site.name%%%%, [mikro-blogovací](http://"
+"drbz.cz/i/napoveda-faq#mikroblog) službě založené na Free Software nástroji "
 "[StatusNet](http://status.net/). Její členové sdílejí krátké zprávy o svém "
 "životě a zájmech.  "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Adminové"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Žádné takové zprávy."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Pouze odesílatel a příjemce může přečíst tuto zprávu."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Zpráva pro %1$s na %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Zpráva od %1$s na %2$s"
@@ -4678,47 +4874,67 @@ msgstr "Zpráva od %1$s na %2$s"
 msgid "Notice deleted."
 msgstr "Oznámení smazáno."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "označen %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, strana %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Oznámení označená %1$s, strana %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, strana %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Feed oznámení pro %1$s otagovaných %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Feed oznámení pro %1$s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Feed oznámení pro %1$s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Feed oznámení pro %1$s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF pro %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Toto je časová osa pro %1$s, ale %2$s zatím ničím nepřispěli."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4726,7 +4942,9 @@ msgstr ""
 "Viděli jste v poslední době zajímavého? Nemáte zatím žádné oznámení, teď by "
 "byl dobrý čas začít:)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4735,7 +4953,9 @@ msgstr ""
 "Můžete se pokusit uživatele %1$s postrčit nebo [jim něco poslat](%%%%action."
 "newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4743,23 +4963,26 @@ msgid ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** má účet na %%site.name%%, [mikro-blogovací](http://drbz.cz/i/napoveda-"
-"faq#mikroblog) službě založené na Free Software nástroji [StatusNet](http://"
-"status.net/). [Zaregistrujte se](%%action.register%%) a sledujte oznámení od "
-"**%s**a mnoha dalších! ([Čtěte více](%%doc.help%%))"
+"**%s** má účet na %%%%site.name%%%%, [mikro-blogovací](http://drbz.cz/i/"
+"napoveda-faq#mikroblog) službě založené na Free Software nástroji [StatusNet]"
+"(http://status.net/). [Zaregistrujte se](%%%%action.register%%%%) a sledujte "
+"oznámení od **%s**a mnoha dalších! ([Čtěte více](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
-"**%s** má účet na %%site.name%%, [mikro-blogovací](http://drbz.cz/i/napoveda-"
-"faq#mikroblog) službě založené na Free Software nástroji [StatusNet](http://"
-"status.net/). "
+"**%s** má účet na %%%%site.name%%%%, [mikro-blogovací](http://drbz.cz/i/"
+"napoveda-faq#mikroblog) službě založené na Free Software nástroji [StatusNet]"
+"(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Opakování %s"
@@ -4870,31 +5093,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Jak dlouho uživatel musí čekat (v sekundách) než může poslat totéž znovu."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Oznámení stránky"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Upravit celo-webovou zprávu"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Problém při ukládání sdělení stránky"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Max délka pro celo-webové oznámení je 255 znaků."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Text sdělení stránky"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Celo-webové sdělení (255 znaků max., s HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Uložit oznámení stránky"
 
@@ -5109,12 +5341,14 @@ msgstr "Na tuto adresu budou poslány snímky"
 msgid "Save snapshot settings"
 msgstr "Uložit nastavení snímkování"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Nejste přihlášen k tomuto profilu."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Nelze uložit odebírání"
 
@@ -5357,75 +5591,93 @@ msgstr ""
 "Licence naslouchaného '%1$s' není kompatibilní s licencí stránky '%2$s'."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Uživatel"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Neplatný bio limit. Musí být číslo."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Neplatné uvítací text. Max délka je 255 znaků."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Neplatné výchozí přihlášení: '%1$s' není uživatel."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limit Bia"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Maximální počet znaků bia profilu."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Noví uživatelé"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Uvítání nového uživatele"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Uvítání nových uživatel (Max 255 znaků)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Výchozí odběr"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Automaticky přihlásit nové uživatele k tomuto uživateli."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Pozvánky"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Pozvánky povoleny"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Zda chcete uživatelům umožnit pozvat nové uživatele."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5532,11 +5784,13 @@ msgstr "Nelze načíst avatara z URL '%s'"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Špatný typ obrázku na URL '%s'"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Vzhled profilu"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5636,7 +5890,7 @@ msgid "Plugins"
 msgstr "Pluginy"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Verze"
 
@@ -5669,31 +5923,47 @@ msgstr "Robin si myslí, že je něco nemožné."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Žádný soubor nesmí být větší než %1$d bajtů a soubor, který jste poslal měl %"
+"2$d bajtů. Zkuste nahrát menší verzi."
+msgstr[1] ""
+"Žádný soubor nesmí být větší než %1$d bajtů a soubor, který jste poslal měl %"
+"2$d bajtů. Zkuste nahrát menší verzi."
+msgstr[2] ""
 "Žádný soubor nesmí být větší než %1$d bajtů a soubor, který jste poslal měl %"
 "2$d bajtů. Zkuste nahrát menší verzi."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Takto velký soubor by překročil vaši uživatelskou kvótu %d bajtů."
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "Takto velký soubor by překročil vaši uživatelskou kvótu %d bajtů."
+msgstr[1] "Takto velký soubor by překročil vaši uživatelskou kvótu %d bajtů."
+msgstr[2] "Takto velký soubor by překročil vaši uživatelskou kvótu %d bajtů."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Takto velký soubor by překročil vaši měsíční kvótu %d bajtů."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Takto velký soubor by překročil vaši měsíční kvótu %d bajtů."
+msgstr[1] "Takto velký soubor by překročil vaši měsíční kvótu %d bajtů."
+msgstr[2] "Takto velký soubor by překročil vaši měsíční kvótu %d bajtů."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Neplatné jméno souboru."
 
@@ -5822,39 +6092,47 @@ msgid "Problem saving notice."
 msgstr "Problém při ukládání sdělení"
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "saveKnownGroups obdrželo špatný typ."
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problém při ukládání skupinového inboxu"
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Nelze uložit místní info skupiny."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Nelze zrušit roli \"%1$s\" pro uživatele #%2$d, neexistuje."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr "Nelze zrušit roli \"%1$s\" pro uživatele #%2$d, chyba databáze."
@@ -5924,32 +6202,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Vítejte na %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Nenastaven uživatel pro jednouživatelský mód"
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Nelze vytvořit skupinu."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Nelze nastavit URI skupiny."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Nelze nastavit členství ve skupině."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Nelze uložit místní info skupiny."
 
@@ -5999,194 +6277,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "stránka bez názvu"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Primární navigace na webu"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Osobní profil a časová osa přátel"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Osobní"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Změňte svůj e-mail, avatar, heslo, profil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Účet"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Připojení ke službám"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Připojit"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Změna konfigurace webu"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Admin"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Pozvěte přátele a kolegy, aby se k vám připojili na %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Pozvat"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Odhlášení z webu"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Odhlásit se"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Zaregistrujte se"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrovat"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Přihlásit se na stránky"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Přihlásit"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Nápověda"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Nápověda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Vyhledávání osob nebo textu"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Hledat"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Sdělení"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Místní zobrazení"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Sdělení stránky"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Sekundární navigace na webu"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Nápověda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "O nás"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "TOS (pravidla použití služby)"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Soukromí"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Zdroj"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Odznak"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licence softwaru StatusNet"
 
@@ -6194,7 +6479,7 @@ msgstr "Licence softwaru StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6204,7 +6489,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** je služba mikroblogů."
@@ -6213,7 +6498,7 @@ msgstr "**%%site.name%%** je služba mikroblogů."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6225,50 +6510,50 @@ msgstr ""
 "licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licence k obsahu stránek"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Obsah a data z %1$S jsou soukromé a důvěrné."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "Obsah a data copyright %1$s. Všechna práva vyhrazena."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr "Obsah a data copyright přispěvatelů. Všechna práva vyhrazena."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Všechen obsah a data %1$s jsou k dispozici v rámci licence %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Stránkování"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Po"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Před"
 
@@ -6347,7 +6632,7 @@ msgid "User configuration"
 msgstr "Akce uživatele"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Uživatel"
 
@@ -6614,7 +6899,7 @@ msgid "AJAX error"
 msgstr "Ajax Chyba"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Příkaz dokončen"
 
@@ -6630,7 +6915,7 @@ msgstr "Oznámení s tímto id neexistuje."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Uživatel nemá žádné poslední oznámení"
 
@@ -6699,6 +6984,14 @@ msgstr "%1$s se připojil(a) ke skupině %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s opustil(a) skupinu %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6738,133 +7031,139 @@ msgstr ""
 "%s je vzdálený profil, přímé zprávy můžete odesílat pouze pro uživatele na "
 "stejném serveru."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
+msgstr[1] "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
+msgstr[2] "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Chyba při odesílání přímé zprávy."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Oznámení od %s opakováno."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Chyba nastavení uživatele"
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Oznámení je příliš dlouhé - maximum je %1$d znaků, poslal jsi %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Oznámení je příliš dlouhé - maximum je %1$d znaků, poslal jsi %2$d."
+msgstr[1] "Oznámení je příliš dlouhé - maximum je %1$d znaků, poslal jsi %2$d."
+msgstr[2] "Oznámení je příliš dlouhé - maximum je %1$d znaků, poslal jsi %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Odpověď %s odeslána."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Problém při ukládání sdělení."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Uveďte jméno uživatele ke kterému se přihlásit."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Nelze se přihlásit k odběru OMB profilů příkazem."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Přihlášeno k %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Uveďte jméno uživatele od kterého se odhlásit."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Odhlášeno od %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Příkaz ještě nebyl implementován."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Oznámení vypnuta."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Nelze vypnout oznámení."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Oznámení zapnuta."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Nelze zapnout oznámení."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Příkaz login je vypnut."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "Tento odkaz je použitelný pouze jednou a je platný pouze 2 minuty: %s."
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "%s odhlášen."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Nejste přihlášen k nikomu."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Jste přihlášeni k této osobě:"
@@ -6873,14 +7172,14 @@ msgstr[2] "Jste přihlášeni k těmto lidem:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Nikdo k vám není přihlášen."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Tato osoba je k vám přihlášena:"
@@ -6889,14 +7188,14 @@ msgstr[2] "Tito lidé jsou k vám přihlášeni:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Nejste členem žádné skupiny."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Jste členem této skupiny:"
@@ -6904,7 +7203,7 @@ msgstr[1] "Jste členem těchto skupin:"
 msgstr[2] ""
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7048,10 +7347,13 @@ msgstr "Autorizované propojené aplikace"
 msgid "Database error"
 msgstr "Chyba databáze"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Nahrát soubor"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7059,16 +7361,29 @@ msgstr ""
 "Můžete nahrát váš osobní obrázek na pozadí. Maximální velikost souboru je 2 "
 "MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Server nebyl schopen zpracovat tolik POST dat (%s bytů) vzhledem k jeho "
-"aktuální konfiguraci."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "zap."
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "vyp."
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Reset"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Obnoveno výchozí nastavení vzhledu."
 
@@ -7096,7 +7411,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7134,7 +7450,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 znaků nebo čísel, bez teček, čárek a mezer"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL domovské stránky nebo blogu skupiny nebo tématu"
 
 #: lib/groupeditform.php:168
@@ -7142,21 +7459,32 @@ msgid "Describe the group or topic"
 msgstr "Popište skupinu nebo téma"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Popište skupinu nebo téma ve %d znacích"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Popište skupinu nebo téma ve %d znacích"
+msgstr[1] "Popište skupinu nebo téma ve %d znacích"
+msgstr[2] "Popište skupinu nebo téma ve %d znacích"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Umístění skupiny, pokud je nějaké, ve stylu \"město, stát (nebo region), země"
 "\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr "Další přezdívky pro skupinu, oddělené čárkou nebo mezerou, max %d"
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] "Další přezdívky pro skupinu, oddělené čárkou nebo mezerou, max %d"
+msgstr[1] "Další přezdívky pro skupinu, oddělené čárkou nebo mezerou, max %d"
+msgstr[2] "Další přezdívky pro skupinu, oddělené čárkou nebo mezerou, max %d"
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7256,39 +7584,60 @@ msgstr "Tato stránka není k dispozici v typu média která přijímáte."
 msgid "Unsupported image file format."
 msgstr "Nepodporovaný formát obrázku."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Ten soubor je příliš velký. Maximální velikost souboru je %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Částečné náhrání."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Chyba systému při nahrávání souboru"
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Není obrázkem, nebo jde o poškozený soubor."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Ztratili jsme náš soubor."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Neznámý typ souboru"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+msgstr[2] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+msgstr[2] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7538,7 +7887,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) přidal vaše oznámení jako oblíbené"
@@ -7548,7 +7897,7 @@ msgstr "%s (@%s) přidal vaše oznámení jako oblíbené"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7587,7 +7936,7 @@ msgstr ""
 " %6$s \n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7600,7 +7949,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) poslal oznámení žádající o vaši pozornost"
@@ -7611,7 +7960,7 @@ msgstr "%s (@%s) poslal oznámení žádající o vaši pozornost"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7694,7 +8043,7 @@ msgstr "Je nám líto, toto není vaše příchozí e-mailová adresa."
 msgid "Sorry, no incoming email allowed."
 msgstr "Je nám líto, žádný příchozí e-mail není dovolen."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Nepodporovaný typ zprávy: %s"
@@ -7759,7 +8108,7 @@ msgstr "Nelze určit typ MIME souboru."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7768,7 +8117,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7909,31 +8258,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Nelze vložit odebírání"
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Osobní"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Odpovědi"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Oblíbené"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Doručená pošta"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Vaše příchozí zprávy"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Odeslaná pošta"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Vaše odeslané zprávy"
 
@@ -8040,16 +8389,17 @@ msgid "Sandbox this user"
 msgstr "Sandboxovat tohoto uživatele"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Prohledat stránky"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Klíčová slova"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8130,6 +8480,12 @@ msgstr "Mrak štítků kterými jsou uživatelé označeni"
 msgid "None"
 msgstr "Nic"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Neplatné jméno souboru."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "Tento server nemůže zpracovat nahrání tématu bez podpory ZIP."
@@ -8139,8 +8495,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Chybí soubor tématu nebo se nepodařilo nahrání."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Chyba při ukládání tématu."
 
@@ -8149,16 +8505,22 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Neplatné téma: špatná adresářová struktura."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Nahrané téma je příliš velké, nezkomprimované musí být menší než %d bajtů."
+msgstr[1] ""
+"Nahrané téma je příliš velké, nezkomprimované musí být menší než %d bajtů."
+msgstr[2] ""
 "Nahrané téma je příliš velké, nezkomprimované musí být menší než %d bajtů."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Neplatný archiv tématu: chybí soubor css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8166,16 +8528,16 @@ msgstr ""
 "Téma obsahuje neplatné jméno souboru nebo složky. Zůstaňte u písmen ASCII, "
 "číslic, podtržítka a mínusu."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Téma obsahuje nebezpečné přípony souborů, může být nebezpečné."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Téma obsahuje soubor typu '.%s', což není povoleno."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Chyba při otevírání archivu tématu."
 
@@ -8183,6 +8545,13 @@ msgstr "Chyba při otevírání archivu tématu."
 msgid "Top posters"
 msgstr "Nejlepší pisálci"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Odblokovat"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Odsandboxovat"
@@ -8354,17 +8723,23 @@ msgstr[0] "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$
 msgstr[1] "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
 msgstr[2] "Zpráva je příliš dlouhá - maximum je %1$d znaků, poslal jsi %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Nebylo zadáno uživatelské ID."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
index 641c8e8b5d5fe8281b8dbfdaa5b0ec00ab30c4fd..154820a8838252824cf7d58bb1ef1cfec0de10b8 100644 (file)
@@ -19,17 +19,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:52+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:09+0000\n"
 "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: de\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -87,15 +87,22 @@ msgstr "Zugangs-Einstellungen speichern"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Speichern"
@@ -126,6 +133,7 @@ msgstr "Seite nicht vorhanden"
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -138,14 +146,14 @@ msgstr "Seite nicht vorhanden"
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Unbekannter Benutzer."
@@ -162,7 +170,7 @@ msgstr "%1$s und Freunde, Seite% 2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s und Freunde"
@@ -218,7 +226,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -318,11 +328,12 @@ msgstr "Konnte Benutzerdaten nicht aktualisieren."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -335,11 +346,13 @@ msgstr "Konnte Profil nicht speichern."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -518,9 +531,11 @@ msgstr "Konnte öffentlichen Stream nicht abrufen."
 msgid "Could not find target user."
 msgstr "Konnte keine Statusmeldungen finden."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -528,36 +543,44 @@ msgstr ""
 "Leerzeichen sind nicht erlaubt."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Benutzername wird bereits verwendet. Suche dir einen anderen aus."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Ungültiger Benutzername."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr ""
 "Homepage ist keine gültige URL. URLs müssen ein Präfix wie http enthalten."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "Der bürgerliche Name ist zu lang (maximal 255 Zeichen)."
@@ -565,10 +588,14 @@ msgstr "Der bürgerliche Name ist zu lang (maximal 255 Zeichen)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -576,16 +603,23 @@ msgstr[0] "Die Beschreibung ist zu lang (max. %d Zeichen)."
 msgstr[1] "Die Beschreibung ist zu lang (max. %d Zeichen)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "Der eingegebene Aufenthaltsort ist zu lang (maximal 255 Zeichen)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -601,15 +635,19 @@ msgstr "Ungültiges Alias: „%s“"
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Benutzername „%s“ wird bereits verwendet. Suche dir einen anderen aus."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias kann nicht das gleiche wie der Spitzname sein."
 
@@ -708,26 +746,25 @@ msgstr "Ungültiges Token."
 
 #. TRANS: Client error given when an invalid request token was passed to the OAuth API.
 #: actions/apioauthauthorize.php:121
-#, fuzzy
 msgid "Request token already authorized."
-msgstr "Du bist nicht autorisiert."
+msgstr "Anfrage-Token bereits autorisiert."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Es gab ein Problem mit deinem Sitzungstoken. Bitte versuche es erneut."
 
@@ -743,17 +780,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Datenbankfehler beim Einfügen des OAuth-Programm-Benutzers."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Unerwartete Formulareingabe."
 
@@ -802,9 +841,10 @@ msgstr "Profil"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -855,26 +895,24 @@ msgstr "Die Anfrage %s wurde gesperrt und widerrufen."
 
 #. TRANS: Title of the page notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:621
-#, fuzzy
 msgid "You have successfully authorized the application"
-msgstr "Du hast %s erfolgreich authorisiert."
+msgstr "Du hast das Programm erfolgreich autorisiert."
 
 #. TRANS: Message notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:625
-#, fuzzy
 msgid ""
 "Please return to the application and enter the following security code to "
 "complete the process."
 msgstr ""
-"Bitte kehre nach %s zurück und geben den folgenden Sicherheitscode ein, um "
-"den Vorgang abzuschließen."
+"Bitte kehre zum Programm zurück und gebe den folgenden Sicherheitscode ein, "
+"um den Vorgang abzuschließen."
 
 #. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
 #: actions/apioauthauthorize.php:632
-#, fuzzy, php-format
+#, php-format
 msgid "You have successfully authorized %s"
-msgstr "Du hast %s erfolgreich authorisiert."
+msgstr "Du hast %s erfolgreich autorisiert."
 
 #. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
@@ -900,20 +938,21 @@ msgstr "Du kannst den Status eines anderen Benutzers nicht löschen."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Unbekannte Nachricht."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Du kannst deine eigenen Nachrichten nicht wiederholen."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Nachricht bereits wiederholt"
 
@@ -936,7 +975,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -952,7 +992,7 @@ msgstr "API-Methode nicht gefunden."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -987,9 +1027,9 @@ msgstr "%1$s Aktualisierung in den Favoriten von %2$s / %2$s."
 #. TRANS: Server error displayed when generating an Atom feed fails.
 #. TRANS: %s is the error.
 #: actions/apitimelinegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not generate feed for group - %s"
-msgstr "Konnte %s-Gruppe nicht löschen."
+msgstr "Konnte keinen Gruppen-Feed erstellen - %s"
 
 #. TRANS: Title for timeline of most recent mentions of a user.
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname.
@@ -1020,7 +1060,6 @@ msgstr "%s Nachrichten von allen!"
 
 #. TRANS: Server error displayed calling unimplemented API method for 'retweeted by me'.
 #: actions/apitimelineretweetedbyme.php:71
-#, fuzzy
 msgid "Unimplemented."
 msgstr "Nicht unterstützte Methode."
 
@@ -1042,14 +1081,14 @@ msgstr "Antworten von %s"
 #: actions/apitimelinetag.php:101 actions/tag.php:67
 #, php-format
 msgid "Notices tagged with %s"
-msgstr "Nachrichten, die mit %s getagt sind"
+msgstr "Mit „%s“ getaggte Nachrichten"
 
 #. TRANS: Subtitle for timeline with lastest notices with a given tag.
 #. TRANS: %1$s is the tag, $2$s is the StatusNet sitename.
 #: actions/apitimelinetag.php:105 actions/tagrss.php:65
 #, php-format
 msgid "Updates tagged with %1$s on %2$s!"
-msgstr "Aktualisierungen mit %1$s getagt auf %2$s!"
+msgstr "Mit „%1$s“ getaggte Nachrichten auf „%2$s“!"
 
 #. TRANS: Server error for unfinished API method showTrends.
 #: actions/apitrends.php:85
@@ -1061,106 +1100,138 @@ msgstr "API-Methode im Aufbau."
 msgid "User not found."
 msgstr "API-Methode nicht gefunden."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Kein solcher Anhang."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Kein Benutzername."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Keine Größe."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ungültige Größe."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Du kannst dein persönliches Avatar hochladen. Die maximale Dateigröße ist %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Benutzer ohne passendes Profil"
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatar-Einstellungen"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Vorschau"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Löschen"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Hochladen"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Zuschneiden"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Keine Datei hoch geladen."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 "Wähle eine quadratische Fläche aus dem Bild, um dein Avatar zu speichern"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Daten verloren."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar aktualisiert."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Aktualisierung des Avatars fehlgeschlagen."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar gelöscht."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Du hast diesen Benutzer bereits blockiert."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Benutzer blockieren"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1176,8 +1247,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1185,7 +1256,7 @@ msgstr "Nein"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Diesen Benutzer freigeben"
 
@@ -1195,8 +1266,8 @@ msgstr "Diesen Benutzer freigeben"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1204,140 +1275,169 @@ msgstr "Ja"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Diesen Benutzer blockieren"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Konnte Blockierungsdaten nicht speichern."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Keine derartige Gruppe."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s blockierte Benutzerprofile"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s blockierte Benutzerprofile, Seite %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Liste der blockierten Benutzer in dieser Gruppe."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Blockierung des Benutzers für die Gruppe aufheben."
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Freigeben"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Diesen Benutzer freigeben"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Versenden an %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Kein Bestätigungs-Code."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Bestätigungscode nicht gefunden."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Dieser Bestätigungscode ist nicht für dich!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Nicht erkannter Adresstyp %s"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Diese Adresse wurde bereits bestätigt."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Konnte Benutzerdaten nicht aktualisieren."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Konnte E-Mail-Bestätigung nicht löschen."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Konnte die IM-Bestätigung nicht löschen."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Adresse bestätigen"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Die Adresse „%s“ wurde für dein Konto bestätigt."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Unterhaltung"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Nachrichten"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Du musst angemeldet sein, um dieses Programm zu entfernen."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Programm nicht gefunden."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Du bist Besitzer dieses Programms"
@@ -1345,15 +1445,18 @@ msgstr "Du bist Besitzer dieses Programms"
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Es gab ein Problem mit deinem Sessiontoken."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Programm entfernen"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1363,12 +1466,12 @@ msgstr ""
 "aus der Datenbank entfernt, auch alle bestehenden Benutzer-Verbindungen."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Dieses Programm nicht löschen"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Programm löschen"
 
@@ -1402,12 +1505,13 @@ msgstr "Konnte %s-Gruppe nicht löschen."
 msgid "Deleted group %s"
 msgstr "%s-Gruppe gelöscht"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Gruppe löschen"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1428,22 +1532,27 @@ msgstr "Diese Gruppe nicht löschen"
 msgid "Delete this group"
 msgstr "Diese Gruppe löschen"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Nicht angemeldet."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Die Nachricht konnte nicht gelöscht werden."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1451,21 +1560,24 @@ msgstr ""
 "Du bist gerade dabei eine Nachricht unwiderruflich zu löschen. Diese Aktion "
 "ist irreversibel."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Notiz löschen"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Bist du sicher, dass du diese Nachricht löschen möchtest?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Diese Nachricht nicht löschen"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Nachricht löschen"
 
@@ -1549,12 +1661,14 @@ msgstr "Angepasster Skin"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Du kannst ein angepasstes StatusNet-Theme als .ZIP-Archiv hochladen."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Hintergrundbild ändern"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Hintergrund"
 
@@ -1568,40 +1682,48 @@ msgstr ""
 "Dateigröße beträgt %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "An"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Aus"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Hintergrundbild ein- oder ausschalten."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Hintergrundbild kacheln"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Farben ändern"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Inhalt"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Seitenleiste"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Text"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Links"
 
@@ -1613,29 +1735,31 @@ msgstr "Erweitert"
 msgid "Custom CSS"
 msgstr "Eigene CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Standardeinstellungen benutzen"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Standard-Design wiederherstellen"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Standard wiederherstellen"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Speichern"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Design speichern"
 
@@ -1679,8 +1803,8 @@ msgid "Name is required."
 msgstr "Name ist erforderlich."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Der Name ist zu lang (maximal 255 Zeichen)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1710,7 +1834,7 @@ msgid "Organization is required."
 msgstr "Organisation ist erforderlich. (Pflichtangabe)"
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Die angegebene Organisation ist zu lang (maximal 255 Zeichen)."
 
@@ -1733,49 +1857,49 @@ msgstr "Antwort-URL ist nicht gültig"
 msgid "Could not update application."
 msgstr "Konnte Programm nicht aktualisieren."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Gruppe %s bearbeiten"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Du musst angemeldet sein, um eine Gruppe zu erstellen."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Du musst ein Admin sein, um die Gruppe zu bearbeiten"
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Benutze dieses Formular, um die Gruppe zu bearbeiten."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Die Beschreibung ist zu lang (max. %d Zeichen)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Zu viele Pseudonyme! Maximale Anzahl ist %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ungültiges Stichwort: „%s“"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Konnte Gruppe nicht aktualisieren."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Konnte keinen Favoriten erstellen."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Einstellungen gespeichert."
 
@@ -1971,6 +2095,12 @@ msgstr "Keine ausstehende Bestätigung, die abgebrochen werden kann."
 msgid "That is the wrong email address."
 msgstr "Dies ist die falsche E-Mail Adresse"
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Konnte E-Mail-Bestätigung nicht löschen."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2054,7 +2184,7 @@ msgstr ""
 "bist der erste der eine Nachricht favorisiert!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%ss favorisierte Nachrichten"
@@ -2151,19 +2281,23 @@ msgstr "Auf dieser Seite können keine Benutzerrollen gewährt werden."
 msgid "User already has this role."
 msgstr "Benutzer hat bereits diese Aufgabe"
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Kein Profil angegeben."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Kein Benutzer-Profil mit dieser ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Keine Gruppe angegeben"
@@ -2230,8 +2364,10 @@ msgstr ""
 "Stelle ein wie die Gruppenseite aussehen soll. Hintergrundbild und "
 "Farbpalette frei wählbar."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Konnte dein Design nicht aktualisieren."
 
@@ -2251,6 +2387,14 @@ msgstr ""
 "Du kannst ein Logo für deine Gruppe hochladen. Die maximale Dateigröße ist %"
 "s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Hochladen"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Zuschneiden"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Wähle eine quadratische Fläche aus dem Bild, um das Logo zu speichern."
@@ -2394,15 +2538,18 @@ msgstr ""
 "Warum [registrierst du nicht einen Account](%%action.register%%) und [legst "
 "diese Gruppe selbst an](%%action.newgroup%%)?"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Nur Admins können Blockierungen von Gruppenmitglieder aufheben."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Dieser Benutzer ist nicht von der Gruppe blockiert."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Fehler beim Freigeben des Benutzers."
 
@@ -2493,7 +2640,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "MicroID für meine Jabber/GTalk-Adresse veröffentlichen."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Einstellungen gesichert."
 
@@ -2616,10 +2763,9 @@ msgstr[1] "Du hast diese Benutzer bereits abonniert:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2808,7 +2954,7 @@ msgstr ""
 "wählst."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Ungültiger Lizenztitel. Die maximale Länge liegt bei 255 Zeichen."
 
 #: actions/licenseadminpanel.php:168
@@ -2981,26 +3127,20 @@ msgstr "Du musst angemeldet sein, um ein Programm zu registrieren."
 msgid "Use this form to register a new application."
 msgstr "Benutzer dieses Formular, um eine neues Programm zu erstellen."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Der Name ist zu lang (maximal 255 Zeichen)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Quell-URL ist erforderlich."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Die angegebene Organisation ist zu lang (maximal 255 Zeichen)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Konnte das Programm nicht erstellen."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Neue Gruppe"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Benutze dieses Formular, um eine neue Gruppe zu erstellen."
@@ -3010,14 +3150,14 @@ msgid "New message"
 msgstr "Neue Nachricht"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Du kannst diesem Benutzer keine Nachricht schicken."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Kein Inhalt!"
 
@@ -3026,7 +3166,7 @@ msgid "No recipient specified."
 msgstr "Kein Empfänger angegeben."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3038,12 +3178,12 @@ msgstr "Nachricht gesendet"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Direkte Nachricht an %s abgeschickt"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax-Fehler"
 
@@ -3051,20 +3191,7 @@ msgstr "Ajax-Fehler"
 msgid "New notice"
 msgstr "Neue Nachricht"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-"Das war zu lang. Die Länge einer Nachricht ist auf %d Zeichen beschränkt."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"Die maximale Größe von Nachrichten ist %d Zeichen, inklusive der URL der "
-"Anhänge"
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Nachricht hinzugefügt"
 
@@ -3208,25 +3335,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Nachricht hat kein Profil"
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Status von %1$s auf %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Content-Typ %s wird nicht untersützt."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Bitte nur %s URLs über einfaches HTTP."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Kein unterstütztes Datenformat."
@@ -3239,37 +3366,46 @@ msgstr "Suche nach Benutzern"
 msgid "Notice Search"
 msgstr "Nachrichtensuche"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Andere Einstellungen"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Verwalte zahlreiche andere Einstellungen."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
-msgstr "(kostenloser Dienst)"
+msgstr " (kostenloser Dienst)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "URLs kürzen mit"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "URL-Auto-Kürzungs-Dienst."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Profil-Designs ansehen"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Profil-Designs anzeigen oder verstecken."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
-msgstr "URL-Auto-Kürzungs-Dienst ist zu lang (max. 50 Zeichen)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
+msgstr "URL-Auto-Kürzungs-Dienst ist zu lang (maximal 50 Zeichen)."
 
 #: actions/otp.php:69
 msgid "No user ID specified."
@@ -3654,12 +3790,12 @@ msgstr "Suche nach anderen Benutzern"
 #: actions/peopletag.php:68
 #, php-format
 msgid "Not a valid people tag: %s."
-msgstr "Ungültiger Personen-Tag: %s."
+msgstr "Ungültiger Personen-Tag: „%s“."
 
 #: actions/peopletag.php:142
 #, php-format
 msgid "Users self-tagged with %1$s - page %2$d"
-msgstr "Benutzer die sich selbst mit %1$s getagged haben - Seite %2$d"
+msgstr "Benutzer, die sich selbst mit „%1$s“ getaggt haben - Seite %2$d"
 
 #: actions/postnotice.php:95
 msgid "Invalid notice content."
@@ -3696,8 +3832,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 Kleinbuchstaben oder Zahlen, keine Satz- oder Leerzeichen."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Bürgerlicher Name"
@@ -3738,9 +3875,10 @@ msgid "Bio"
 msgstr "Biografie"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Aufenthaltsort"
@@ -3760,15 +3898,15 @@ msgstr "Teile meine aktuelle Position, wenn ich Nachrichten sende"
 #: actions/tagother.php:209 lib/subscriptionlist.php:106
 #: lib/subscriptionlist.php:108 lib/userprofile.php:210
 msgid "Tags"
-msgstr "Stichwörter"
+msgstr "Tags"
 
 #. TRANS: Tooltip for field label in form for profile settings.
 #: actions/profilesettings.php:168
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
-"Stichwörter über dich selbst (Buchstaben, Zahlen, -, ., und _) durch Kommas "
-"oder Leerzeichen getrennt"
+"Tags über dich selbst (Buchstaben, Zahlen, -, ., und _) durch Kommas oder "
+"Leerzeichen getrennt"
 
 #. TRANS: Dropdownlist label in form for profile settings.
 #: actions/profilesettings.php:173
@@ -3931,14 +4069,14 @@ msgstr ""
 #. TRANS: Title for public tag cloud.
 #: actions/publictagcloud.php:57
 msgid "Public tag cloud"
-msgstr "Öffentliche Stichwort-Wolke"
+msgstr "Öffentliche Tag-Wolke"
 
 #. TRANS: Instructions (more used like an explanation/header).
 #. TRANS: %s is the StatusNet sitename.
 #: actions/publictagcloud.php:65
 #, php-format
 msgid "These are most popular recent tags on %s"
-msgstr "Das sind die beliebtesten Stichwörter auf %s"
+msgstr "Das sind die beliebtesten Tags auf „%s“"
 
 #. TRANS: This message contains a Markdown URL. The link description is between
 #. TRANS: square brackets, and the link between parentheses. Do not separate "]("
@@ -3947,8 +4085,8 @@ msgstr "Das sind die beliebtesten Stichwörter auf %s"
 #, php-format
 msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
 msgstr ""
-"Bis jetzt hat noch niemand eine Nachricht mit dem Stichwort [hashtag](%%doc."
-"tags%%) gepostet."
+"Bis jetzt hat noch niemand eine Nachricht mit dem Tag „[hashtag](%%doc.tags%"
+"%)“ gepostet."
 
 #. TRANS: Message shown to a logged in user for the public tag cloud
 #. TRANS: while no tags exist yet. "One" refers to the non-existing hashtag.
@@ -3972,7 +4110,7 @@ msgstr ""
 
 #: actions/publictagcloud.php:146
 msgid "Tag cloud"
-msgstr "Stichwort-Wolke"
+msgstr "Tag-Wolke"
 
 #: actions/recoverpassword.php:36
 msgid "You are already logged in!"
@@ -4083,8 +4221,8 @@ msgid "Unexpected password reset."
 msgstr "Unerwarteter Passwortreset."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
-msgstr "Passwort muss mehr als 6 Zeichen enthalten"
+msgid "Password must be 6 characters or more."
+msgstr "Passwort muss mehr als 6 Zeichen enthalten."
 
 #: actions/recoverpassword.php:369
 msgid "Password and confirmation do not match."
@@ -4330,7 +4468,7 @@ msgid "Repeated!"
 msgstr "Wiederholt!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Antworten an %s"
@@ -4463,11 +4601,12 @@ msgstr "Organisation"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Beschreibung"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistik"
@@ -4485,6 +4624,11 @@ msgstr "Programmaktionen"
 msgid "Reset key & secret"
 msgstr "Schlüssel zurücksetzen"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Löschen"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Programminformation"
@@ -4578,77 +4722,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Dies ist ein Weg, Dinge zu teilen, die dir gefallen."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s-Gruppe"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s Gruppe, Seite %d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Gruppenprofil"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Nachricht"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Pseudonyme"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Gruppenaktionen"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Nachrichtenfeed der Gruppe %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Nachrichtenfeed der Gruppe %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Nachrichtenfeed der Gruppe %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Postausgang von %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Mitglieder"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Kein)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Alle Mitglieder"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Erstellt"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Mitglieder"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4663,7 +4834,10 @@ msgstr ""
 "und werde Teil der Gruppe und vielen anderen! ([Mehr Informationen](%%%%doc."
 "help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4676,24 +4850,31 @@ msgstr ""
 "Software [StatusNet](http://status.net/). Seine Mitglieder erstellen kurze "
 "Nachrichten über ihr Leben und Interessen. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Admins"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Keine derartige Nachricht."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Nur der Absender und der Empfänger können diese Nachricht lesen."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Nachricht an %1$s auf %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Nachricht von %1$s auf %2$s"
@@ -4702,49 +4883,68 @@ msgstr "Nachricht von %1$s auf %2$s"
 msgid "Notice deleted."
 msgstr "Nachricht gelöscht."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, php-format
-msgid " tagged %s"
-msgstr "Nachrichten, die mit %s getagt sind"
+msgid "%1$s tagged %2$s"
+msgstr "Von „%1$s“ mit „%2$s“ getaggte Nachrichten"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Von „%1$s“ mit „%2$s“ getaggte Nachrichten, Seite %3$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, Seite %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Nachrichtenfeed für %1$s tagged %2$s (RSS 1.0)"
+msgstr "Feed aller von „%1$s“ mit „%2$s“ getaggten Nachrichten (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Feed der Nachrichten von %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Feed der Nachrichten von %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Feed der Nachrichten von %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF von %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
-"Dies ist die Zeitleiste von %1$s und Freunden, aber bisher hat niemand etwas "
-"gepostet."
+"Dies ist die Zeitleiste von %1$s, aber bisher hat %1$s noch nichts gepostet."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4752,7 +4952,9 @@ msgstr ""
 "In letzter Zeit irgendwas Interessantes erlebt? Du hast noch nichts "
 "geschrieben, jetzt wäre doch ein guter Zeitpunkt los zu legen :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4761,7 +4963,9 @@ msgstr ""
 "Du kannst %1$s in seinem Profil einen Stups geben oder [ihm etwas posten](%%%"
 "%action.newnotice%%%%?status_textarea=%s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4775,7 +4979,9 @@ msgstr ""
 "um **%s**'s und vielen anderen zu folgen! ([Mehr Informationen](%%%%doc.help%"
 "%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4786,7 +4992,8 @@ msgstr ""
 "wikipedia.org/wiki/Mikroblogging)-Dienst basierend auf der freien Software "
 "[StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Wiederholung von %s"
@@ -4902,31 +5109,38 @@ msgstr ""
 "Wie lange muss ein Benutzer warten, bis er eine identische Nachricht "
 "abschicken kann (in Sekunden)."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Seitenbenachrichtigung"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Neue Nachricht"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Konnte Seitenbenachrichtigung nicht speichern"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Maximale Länge von Systembenachrichtigungen ist 255 Zeichen."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Seitenbenachrichtigung"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
-msgstr "Systembenachrichtigung (max. 255 Zeichen; HTML erlaubt)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
+msgstr "Systembenachrichtigung (maximal 255 Zeichen; HTML erlaubt)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Systemnachricht speichern"
 
@@ -5143,12 +5357,14 @@ msgstr "An diese Adresse werden Snapshots gesendet"
 msgid "Save snapshot settings"
 msgstr "Snapshot-Einstellungen speichern"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Du hast dieses Profil nicht abonniert."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Konnte Abonnement nicht erstellen."
 
@@ -5293,22 +5509,22 @@ msgstr "SMS"
 #: actions/tag.php:69
 #, php-format
 msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Mit %1$s gekennzeichnete Nachrichten, Seite %2$d"
+msgstr "Mit „%1$s“ getaggte Nachrichten, Seite %2$d"
 
 #: actions/tag.php:87
 #, php-format
 msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "Nachrichten Feed für Tag %s (RSS 1.0)"
+msgstr "Nachrichten-Feed des Tags „%s“ (RSS 1.0)"
 
 #: actions/tag.php:93
 #, php-format
 msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "Nachrichten Feed für Tag %s (RSS 2.0)"
+msgstr "Nachrichten-Feed des Tag „%s“ (RSS 2.0)"
 
 #: actions/tag.php:99
 #, php-format
 msgid "Notice feed for tag %s (Atom)"
-msgstr "Nachrichten Feed für Tag %s (Atom)"
+msgstr "Nachrichten-Feed des Tags „%s“ (Atom)"
 
 #: actions/tagother.php:39
 msgid "No ID argument."
@@ -5317,7 +5533,7 @@ msgstr "Kein ID-Argument."
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr "Tag %s"
+msgstr "Tag „%s“"
 
 #: actions/tagother.php:77 lib/userprofile.php:76
 msgid "User profile"
@@ -5337,8 +5553,8 @@ msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
-"Stichwörter für diesen Benutzer (Buchstaben, Nummer, -, ., und _), durch "
-"Komma oder Leerzeichen getrennt"
+"Tags dieses Benutzers (Buchstaben, Nummer, -, ., und _), durch Komma oder "
+"Leerzeichen getrennt"
 
 #: actions/tagother.php:193
 msgid ""
@@ -5349,17 +5565,17 @@ msgstr ""
 
 #: actions/tagother.php:200
 msgid "Could not save tags."
-msgstr "Konnte Stichwörter nicht speichern."
+msgstr "Konnte Tags nicht speichern."
 
 #: actions/tagother.php:236
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
-"Benutze dieses Formular, um Tags zu deinen Abonnenten oder Abonnements "
+"Benutze dieses Formular, um Tags deinen Abonnenten oder Abonnements "
 "hinzuzufügen."
 
 #: actions/tagrss.php:35
 msgid "No such tag."
-msgstr "Stichwort nicht vorhanden."
+msgstr "Tag nicht vorhanden."
 
 #: actions/unblock.php:59
 msgid "You haven't blocked that user."
@@ -5390,75 +5606,91 @@ msgstr ""
 "$s“."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Benutzer"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Benutzer-Einstellungen dieser StatusNet-Website"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Das Zeichenlimit der Biografie muss numerisch sein!"
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Willkommens-Nachricht ungültig. Maximale Länge sind 255 Zeichen."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
-msgstr "Ungültiges Abonnement: „%1$s“ ist kein Benutzer"
+msgid "Invalid default subscripton: '%1$s' is not user."
+msgstr "Ungültiges Standard-Abonnement: „%1$s“ ist kein Benutzer."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Bio-Limit"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Maximale Länge in Zeichen der Profil-Bio."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Neue Benutzer"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Neue Benutzer empfangen"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Willkommens-Nachricht für neue Benutzer (maximal 255 Zeichen)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Standard-Abonnement"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Neue Benutzer abonnieren automatisch diesen Benutzer"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Einladungen"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Einladungen aktivieren"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Ist es Benutzern erlaubt, neue Benutzer einzuladen."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Benutzer-Einstellungen speichern"
 
@@ -5566,11 +5798,13 @@ msgstr "Konnte Avatar-URL nicht öffnen „%s“"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Falscher Bildtyp für „%s“"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Profil-Design-Einstellungen"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5670,7 +5904,7 @@ msgid "Plugins"
 msgstr "Erweiterungen"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Version"
 
@@ -5703,33 +5937,48 @@ msgstr "Robin denkt, dass etwas unmöglich ist."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
-"Keine Datei darf größer als %d Bytes sein und die Datei die du verschicken "
-"wolltest war %d Bytes groß. Bitte eine kleinere Version hochladen."
+msgstr[0] ""
+"Keine Datei darf größer als ein Byte sein und die Datei die du verschicken "
+"wolltest war %2$d Bytes groß. Bitte eine kleinere Version hochladen."
+msgstr[1] ""
+"Keine Datei darf größer als %1$d Bytes sein und die Datei die du verschicken "
+"wolltest war %2$d Bytes groß. Bitte eine kleinere Version hochladen."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Eine Datei dieser Größe überschreitet deine User Quota von %d Byte."
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Eine Datei dieser Größe überschreitet deine User Quota von einem Byte."
+msgstr[1] ""
+"Eine Datei dieser Größe überschreitet deine User Quota von %d Bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
-"Eine Datei dieser Größe würde deine monatliche Quota von %d Byte "
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Eine Datei dieser Größe würde deine monatliche Quota von einem Byte "
+"überschreiten."
+msgstr[1] ""
+"Eine Datei dieser Größe würde deine monatliche Quota von %d Bytes "
 "überschreiten."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Ungültiger Dateiname."
 
@@ -5758,9 +6007,9 @@ msgstr "Profil-ID %s ist ungültig."
 #. TRANS: Exception thrown providing an invalid group ID.
 #. TRANS: %s is the invalid group ID.
 #: classes/Group_member.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "Group ID %s is invalid."
-msgstr "Fehler beim Speichern des Benutzers, ungültig."
+msgstr "Gruppen-ID %s ist ungültig."
 
 #. TRANS: Activity title.
 #: classes/Group_member.php:113 lib/joinform.php:114
@@ -5859,33 +6108,41 @@ msgid "Problem saving notice."
 msgstr "Problem bei Speichern der Nachricht."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
-"Der Methode saveKnownGroups wurde ein schlechter Wert zur Verfügung gestellt"
+"Der Methode „saveKnownGroups“ wurde ein schlechter Typ zur Verfügung "
+"gestellt."
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problem bei Speichern der Nachricht."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Konnte Antwort auf %1$d, %2$d nicht speichern."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5894,7 +6151,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5909,7 +6166,7 @@ msgstr "Benutzer hat kein Profil."
 #. TRANS: Exception thrown when a tag cannot be saved.
 #: classes/Status_network.php:338
 msgid "Unable to save tag."
-msgstr "Konnte Seitenbenachrichtigung nicht speichern."
+msgstr "Konnte Tag nicht speichern."
 
 #. TRANS: Exception thrown when trying to subscribe while being banned from subscribing.
 #: classes/Subscription.php:75 lib/oauthstore.php:482
@@ -5928,7 +6185,6 @@ msgstr "Dieser Benutzer hat dich blockiert."
 
 #. TRANS: Exception thrown when trying to unsibscribe without a subscription.
 #: classes/Subscription.php:171
-#, fuzzy
 msgid "Not subscribed!"
 msgstr "Nicht abonniert!"
 
@@ -5967,32 +6223,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Herzlich willkommen bei %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Kein einzelner Benutzer für den Ein-Benutzer-Modus ausgewählt."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Konnte Gruppe nicht erstellen."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Konnte die Gruppen-URI nicht setzen."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Konnte Gruppenmitgliedschaft nicht setzen."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Konnte die lokale Gruppen Information nicht speichern."
 
@@ -6042,194 +6298,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Seite ohne Titel"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "Mehr anzeigen"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Hauptnavigation"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Persönliches Profil und Freundes-Zeitleiste"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Eigene"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Ändere deine E-Mail, Avatar, Passwort und Profil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Profil"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Zum Dienst verbinden"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Verbinden"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Seiteneinstellung ändern"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Admin"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Lade Freunde und Kollegen ein dir auf %s zu folgen"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Einladen"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Von der Seite abmelden"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Abmelden"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Neues Benutzerkonto erstellen"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrieren"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Auf der Seite anmelden"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Anmelden"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Hilf mir!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Hilfe"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Suche nach Leuten oder Text"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Suchen"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Seitennachricht"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Lokale Ansichten"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Neue Nachricht"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Unternavigation"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Hilfe"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Über"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "AGB"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privatsphäre"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Quellcode"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Plakette"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet-Software-Lizenz"
 
@@ -6237,7 +6500,7 @@ msgstr "StatusNet-Software-Lizenz"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6247,7 +6510,7 @@ msgstr ""
 "site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** ist ein Mikrobloggingdienst."
@@ -6256,7 +6519,7 @@ msgstr "**%%site.name%%** ist ein Mikrobloggingdienst."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6268,20 +6531,20 @@ msgstr ""
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html) erhältlich ist."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "StatusNet-Software-Lizenz"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Inhalte und Daten von %1$s sind privat und vertraulich."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6289,7 +6552,7 @@ msgstr ""
 "vorbehalten."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Urheberrecht von Inhalt und Daten liegt bei den Beteiligten. Alle Rechte "
@@ -6297,25 +6560,25 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Alle Inhalte und Daten von %1$s sind unter der %2$s Lizenz verfügbar."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Seitenerstellung"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Später"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Vorher"
 
@@ -6394,7 +6657,7 @@ msgid "User configuration"
 msgstr "Benutzereinstellung"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Benutzer"
 
@@ -6462,7 +6725,7 @@ msgstr "Anonymer Zugang konnte nicht erstellt werden"
 #. TRANS: Server error displayed when trying to create an anynymous OAuth application.
 #: lib/apioauthstore.php:69
 msgid "Could not create anonymous OAuth application."
-msgstr "Anonyme OAuth Anwendung konnte nicht erstellt werden."
+msgstr "Anonyme OAuth-Anwendung konnte nicht erstellt werden."
 
 #. TRANS: Exception thrown when no token association could be found.
 #: lib/apioauthstore.php:151
@@ -6499,11 +6762,11 @@ msgstr "Programmsymbol"
 #. TRANS: Form input field instructions.
 #. TRANS: %d is the number of available characters for the description.
 #: lib/applicationeditform.php:201
-#, fuzzy, php-format
+#, php-format
 msgid "Describe your application in %d character"
 msgid_plural "Describe your application in %d characters"
-msgstr[0] "Beschreibe dein Programm in %d Zeichen"
-msgstr[1] "Beschreibe dein Programm in %d Zeichen"
+msgstr[0] "Beschreibe dein Programm in einem Zeichen."
+msgstr[1] "Beschreibe dein Programm in %d Zeichen."
 
 #. TRANS: Form input field instructions.
 #: lib/applicationeditform.php:205
@@ -6597,7 +6860,7 @@ msgstr "Genehmigte %1$s - „%2$s“ Zugriff."
 #: lib/applicationlist.php:282
 #, php-format
 msgid "Access token starting with: %s"
-msgstr "Zugriffstoken beginnend mit %s"
+msgstr "Zugriffstoken beginnend mit „%s“"
 
 #. TRANS: Button label
 #: lib/applicationlist.php:298
@@ -6622,24 +6885,22 @@ msgstr "Anbieter"
 #. TRANS: Title.
 #: lib/attachmentnoticesection.php:67
 msgid "Notices where this attachment appears"
-msgstr "Nachrichten in denen dieser Anhang erscheint"
+msgstr "Nachrichten, in denen dieser Anhang erscheint"
 
 #. TRANS: Title.
 #: lib/attachmenttagcloudsection.php:48
 msgid "Tags for this attachment"
-msgstr "Stichworte für diesen Anhang"
+msgstr "Tags dieses Anhangs"
 
 #. TRANS: Exception thrown when a password change fails.
 #: lib/authenticationplugin.php:221 lib/authenticationplugin.php:227
-#, fuzzy
 msgid "Password changing failed."
-msgstr "Passwort konnte nicht geändert werden"
+msgstr "Passwort konnte nicht geändert werden."
 
 #. TRANS: Exception thrown when a password change attempt fails because it is not allowed.
 #: lib/authenticationplugin.php:238
-#, fuzzy
 msgid "Password changing is not allowed."
-msgstr "Passwort kann nicht geändert werden"
+msgstr "Passwort kann nicht geändert werden."
 
 #. TRANS: Title for the form to block a user.
 #: lib/blockform.php:68
@@ -6653,12 +6914,11 @@ msgstr "Befehl-Ergebnisse"
 
 #. TRANS: Title for command results.
 #: lib/channel.php:194
-#, fuzzy
 msgid "AJAX error"
 msgstr "Ajax-Fehler"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Befehl ausgeführt"
 
@@ -6670,27 +6930,27 @@ msgstr "Befehl fehlgeschlagen"
 #. TRANS: Command exception text shown when a notice ID is requested that does not exist.
 #: lib/command.php:82 lib/command.php:106
 msgid "Notice with that id does not exist."
-msgstr "Nachricht mit dieser ID existiert nicht"
+msgstr "Nachricht mit dieser ID existiert nicht."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
-msgstr "Benutzer hat keine letzte Nachricht"
+msgstr "Benutzer hat keine letzte Nachricht."
 
 #. TRANS: Message given requesting a profile for a non-existing user.
 #. TRANS: %s is the nickname of the user for which the profile could not be found.
 #: lib/command.php:128
 #, php-format
 msgid "Could not find a user with nickname %s."
-msgstr "Konnte keinen Benutzer mit dem Namen %s finden"
+msgstr "Konnte keinen Benutzer mit dem Namen „%s“ finden."
 
 #. TRANS: Message given getting a non-existing user.
 #. TRANS: %s is the nickname of the user that could not be found.
 #: lib/command.php:148
 #, php-format
 msgid "Could not find a local user with nickname %s."
-msgstr "Konnte keinen lokalen Benutzer mit dem Nick %s finden"
+msgstr "Konnte keinen lokalen Benutzer mit dem Namen „%s“ finden."
 
 #. TRANS: Error text shown when an unimplemented command is given.
 #: lib/command.php:183
@@ -6700,14 +6960,14 @@ msgstr "Leider ist dieser Befehl noch nicht implementiert."
 #. TRANS: Command exception text shown when a user tries to nudge themselves.
 #: lib/command.php:229
 msgid "It does not make a lot of sense to nudge yourself!"
-msgstr "Es macht keinen Sinn dich selbst anzustupsen!"
+msgstr "Es macht keinen Sinn, dich selbst anzustupsen!"
 
 #. TRANS: Message given having nudged another user.
 #. TRANS: %s is the nickname of the user that was nudged.
 #: lib/command.php:238
 #, php-format
 msgid "Nudge sent to %s."
-msgstr "Stups an %s abgeschickt"
+msgstr "Stups an „%s“ abgeschickt."
 
 #. TRANS: User statistics text.
 #. TRANS: %1$s is the number of other user the user is subscribed to.
@@ -6734,14 +6994,22 @@ msgstr "Nachricht als Favorit markiert."
 #: lib/command.php:357
 #, php-format
 msgid "%1$s joined group %2$s."
-msgstr "%1$s ist der Gruppe %2$s beigetreten."
+msgstr "%1$s ist der Gruppe „%2$s“ beigetreten."
 
 #. TRANS: Message given having removed a user from a group.
 #. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
 #: lib/command.php:405
 #, php-format
 msgid "%1$s left group %2$s."
-msgstr "%1$s hat die Gruppe %2$s verlassen."
+msgstr "%1$s hat die Gruppe „%2$s“ verlassen."
+
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
 
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
@@ -6782,135 +7050,141 @@ msgstr ""
 "%s ist ein entferntes Profil; man kann direkte Nachrichten nur an Benutzer "
 "auf dem selben Server senden."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Nachricht zu lang - maximal ein Zeichen erlaubt, du hast %2$d gesendet."
+msgstr[1] ""
 "Nachricht zu lang - maximal %1$d Zeichen erlaubt, du hast %2$d gesendet."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
-msgstr "Fehler beim Senden der Nachricht"
+msgstr "Fehler beim Senden der Nachricht."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
-msgstr "Nachricht von %s wiederholt."
+msgstr "Nachricht von „%s“ wiederholt."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
-msgstr "Fehler beim Wiederholen der Nachricht"
+msgstr "Fehler beim Wiederholen der Nachricht."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Nachricht zu lange - maximal %1$d Zeichen erlaubt, du hast %2$ gesendet"
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Nachricht zu lang - maximal ein Zeichen erlaubt, du hast %2$d gesendet."
+msgstr[1] ""
+"Nachricht zu lang - maximal %1$d Zeichen erlaubt, du hast %2$d gesendet."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
-msgstr "Antwort an %s gesendet"
+msgstr "Antwort an „%s“ gesendet"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Problem beim Speichern der Nachricht."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
-msgstr "Gib den Namen des Benutzers an, den du abonnieren möchtest"
+msgstr "Gib den Namen des Benutzers an, den du abonnieren möchtest."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "OMB-Profile können nicht mit einem Kommando abonniert werden."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
-msgstr "%s abboniert"
+msgstr "%s abboniert."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Gib den Namen des Benutzers ein, den du nicht mehr abonnieren möchtest"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
-msgstr "Abgemeldet von %s."
+msgstr "%s abbestellt."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Befehl noch nicht implementiert."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Benachrichtigung deaktiviert."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Konnte Benachrichtigung nicht deaktivieren."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Benachrichtigung aktiviert."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Konnte Benachrichtigung nicht aktivieren."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
-msgstr "Die Anmeldung ist deaktiviert"
+msgstr "Die Anmeldung ist deaktiviert."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "Der Link ist nur einmal und für eine Dauer von 2 Minuten gültig: %s"
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "%s nicht mehr abonniert"
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Du hast niemanden abonniert."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Du hast diesen Benutzer bereits abonniert:"
@@ -6918,36 +7192,36 @@ msgstr[1] "Du hast diese Benutzer bereits abonniert:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Niemand hat dich abonniert."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
-msgstr[0] "Die Gegenseite konnte dich nicht abonnieren."
-msgstr[1] "Die Gegenseite konnte dich nicht abonnieren."
+msgstr[0] "Diese Person abonniert dich:"
+msgstr[1] "Diese Personen abonnieren dich:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Du bist in keiner Gruppe Mitglied."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Du bist Mitglied dieser Gruppe:"
 msgstr[1] "Du bist Mitglied dieser Gruppen:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7041,7 +7315,7 @@ msgstr "Ich habe an folgenden Stellen nach Konfigurationsdateien gesucht:"
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 #: lib/common.php:142
 msgid "You may wish to run the installer to fix this."
-msgstr "Bitte die Installation erneut starten um das Problem zu beheben."
+msgstr "Bitte die Installation erneut starten, um das Problem zu beheben."
 
 #. TRANS: Error message displayed when no configuration file was found for a StatusNet installation.
 #. TRANS: The text is link text that leads to the installer page.
@@ -7051,7 +7325,6 @@ msgstr "Zur Installation gehen."
 
 #. TRANS: Menu item for Instant Messaging settings.
 #: lib/connectsettingsaction.php:106
-#, fuzzy
 msgctxt "MENU"
 msgid "IM"
 msgstr "IM"
@@ -7063,7 +7336,6 @@ msgstr "Aktualisierungen via Instant Messenger (IM)"
 
 #. TRANS: Menu item for Short Message Service settings.
 #: lib/connectsettingsaction.php:113
-#, fuzzy
 msgctxt "MENU"
 msgid "SMS"
 msgstr "SMS"
@@ -7075,7 +7347,6 @@ msgstr "Aktualisierungen via SMS"
 
 #. TRANS: Menu item for OuAth connection settings.
 #: lib/connectsettingsaction.php:120
-#, fuzzy
 msgctxt "MENU"
 msgid "Connections"
 msgstr "Verbindungen"
@@ -7089,27 +7360,40 @@ msgstr "Programme mit Zugriffserlaubnis"
 msgid "Database error"
 msgstr "Datenbankfehler."
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Datei hochladen"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 "Du kannst dein persönliches Hintergrundbild hochladen. Die maximale "
-"Dateigröße ist 2MB."
+"Dateigröße ist 2 MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Der Server kann so große POST Abfragen (%s bytes) aufgrund der Konfiguration "
-"nicht verarbeiten."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr "An"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Aus"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Zurücksetzen"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Standard-Design wieder hergestellt."
 
@@ -7137,13 +7421,14 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Feeds"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
-msgstr "Stichworte filtern"
+msgstr "Tags filtern"
 
 #: lib/galleryaction.php:131
 msgid "All"
@@ -7151,15 +7436,15 @@ msgstr "Alle"
 
 #: lib/galleryaction.php:139
 msgid "Select tag to filter"
-msgstr "Wähle ein Stichwort, um die Liste einzuschränken"
+msgstr "Wähle ein Tag, um die Liste einzuschränken"
 
 #: lib/galleryaction.php:140
 msgid "Tag"
-msgstr "Stichwort"
+msgstr "Tag"
 
 #: lib/galleryaction.php:141
 msgid "Choose a tag to narrow list"
-msgstr "Wähle ein Stichwort, um die Liste einzuschränken"
+msgstr "Wähle ein Tag, um die Liste einzuschränken"
 
 #: lib/galleryaction.php:143
 msgid "Go"
@@ -7175,8 +7460,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 Kleinbuchstaben oder Zahlen, keine Satz- oder Leerzeichen"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
-msgstr "Adresse der Homepage oder Blogs der Gruppe oder des Themas"
+msgid "URL of the homepage or blog of the group or topic."
+msgstr "Adresse der Homepage oder Blogs der Gruppe oder des Themas."
 
 #: lib/groupeditform.php:168
 msgid "Describe the group or topic"
@@ -7184,20 +7469,30 @@ msgstr "Beschreibe die Gruppe oder das Thema"
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Beschreibe die Gruppe oder das Thema in %d Zeichen"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Beschreibe die Gruppe oder das Thema in einem Zeichen"
+msgstr[1] "Beschreibe die Gruppe oder das Thema in %d Zeichen"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "Ort der Gruppe, optional, beispielsweise „Stadt, Region, Land“"
+"Location for the group, if any, like \"City, State (or Region), Country\"."
+msgstr "Ort der Gruppe, optional, beispielsweise „Stadt, Region, Land“."
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
-"Zusätzliche Spitznamen für die Gruppe, Komma oder Leerzeichen getrennt, max %"
-"d"
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Zusätzliche Spitznamen für die Gruppe, Komma oder Leerzeichen getrennt, "
+"maximal einer."
+msgstr[1] ""
+"Zusätzliche Spitznamen für die Gruppe, Komma oder Leerzeichen getrennt, "
+"maximal %d."
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7286,7 +7581,7 @@ msgstr "Gruppen mit den meisten Beiträgen"
 #: lib/grouptagcloudsection.php:57
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr "Stichworte in den Nachrichten der Gruppe %s"
+msgstr "Tags in den Nachrichten der Gruppe „%s“"
 
 #. TRANS: Client exception 406
 #: lib/htmloutputter.php:104
@@ -7297,39 +7592,57 @@ msgstr "Dies Seite liegt in keinem von dir akzeptierten Mediatype vor."
 msgid "Unsupported image file format."
 msgstr "Bildformat wird nicht unterstützt."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
-msgstr "Du kannst ein Logo für deine Gruppe hochladen."
+msgstr "Diese Datei ist zu groß. Die maximale Dateigröße ist %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Unvollständiges Hochladen."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Systemfehler beim Hochladen der Datei."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Kein Bild oder defekte Datei."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Daten verloren."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Unbekannter Dateityp"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "%d MB"
+msgstr[1] "%d MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "%d KB"
+msgstr[1] "%d KB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] "%d Byte"
+msgstr[1] "%d Bytes"
 
 #: lib/jabber.php:387
 #, php-format
@@ -7379,7 +7692,7 @@ msgid ""
 msgstr ""
 "Hallo %1$s,\n"
 "\n"
-"jemand hat diese E-Mail-Adresse gerade auf %2$s eingegeben.\n"
+"jemand hat diese E-Mail-Adresse gerade auf „%2$s“ eingegeben.\n"
 "\n"
 "Falls du es warst und du deinen Eintrag bestätigen möchtest, benutze\n"
 "bitte diese URL:\n"
@@ -7396,7 +7709,7 @@ msgstr ""
 #: lib/mail.php:246
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s hat deine Nachrichten auf %2$s abonniert."
+msgstr "%1$s hat deine Nachrichten auf „%2$s“ abonniert."
 
 #. TRANS: This is a paragraph in a new-subscriber e-mail.
 #. TRANS: %s is a URL where the subscriber can be reported as abusive.
@@ -7406,7 +7719,7 @@ msgid ""
 "If you believe this account is being used abusively, you can block them from "
 "your subscribers list and report as spam to site administrators at %s"
 msgstr ""
-"Wenn du dir sicher bist, das dieses Benutzerkonto missbräuchlich benutzt "
+"Wenn du dir sicher bist, dass dieses Benutzerkonto missbräuchlich benutzt "
 "wurde, kannst du das Benutzerkonto von deiner Liste der Abonnenten sperren "
 "und es den Seitenadministratoren unter %s als Spam melden."
 
@@ -7453,7 +7766,7 @@ msgstr "Biografie: %s"
 #: lib/mail.php:315
 #, php-format
 msgid "New email address for posting to %s"
-msgstr "Neue E-Mail-Adresse um auf %s zu schreiben"
+msgstr "Neue E-Mail-Adresse, um auf „%s“ zu schreiben"
 
 #. TRANS: Body of notification mail for new posting email address.
 #. TRANS: %1$s is the StatusNet sitename, %2$s is the e-mail address to send
@@ -7470,7 +7783,7 @@ msgid ""
 "Faithfully yours,\n"
 "%1$s"
 msgstr ""
-"Du hast eine neue Adresse zum Hinzufügen von Nachrichten auf %1$s.\n"
+"Du hast eine neue Adresse zum Hinzufügen von Nachrichten auf „%1$s“.\n"
 "\n"
 "Schicke eine E-Mail an %2$s, um eine neue Nachricht hinzuzufügen.\n"
 "\n"
@@ -7505,7 +7818,7 @@ msgstr ""
 #: lib/mail.php:493
 #, php-format
 msgid "You've been nudged by %s"
-msgstr "Du wurdest von %s angestupst"
+msgstr "Du wurdest von „%s“ angestupst"
 
 #. TRANS: Body for 'nudge' notification email.
 #. TRANS: %1$s is the nuding user's long name, $2$s is the nudging user's nickname,
@@ -7525,7 +7838,7 @@ msgid ""
 "With kind regards,\n"
 "%4$s\n"
 msgstr ""
-"%1$s (%2$s) fragt sicht, was du zur Zeit wohl so machst und lädt dich ein, "
+"%1$s (%2$s) fragt sich, was du zur Zeit wohl so machst und lädt dich ein, "
 "etwas Neues zu posten.\n"
 "\n"
 "Lass von dir hören :)\n"
@@ -7542,7 +7855,7 @@ msgstr ""
 #: lib/mail.php:547
 #, php-format
 msgid "New private message from %s"
-msgstr "Neue private Nachricht von %s"
+msgstr "Neue private Nachricht von „%s“"
 
 #. TRANS: Body for direct-message notification email.
 #. TRANS: %1$s is the sending user's long name, %2$s is the sending user's nickname,
@@ -7583,7 +7896,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) hat deine Nachricht als Favorit gespeichert"
@@ -7593,7 +7906,7 @@ msgstr "%1$s (@%2$s) hat deine Nachricht als Favorit gespeichert"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7625,7 +7938,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7638,7 +7951,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7651,7 +7964,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7677,7 +7990,7 @@ msgid ""
 "\n"
 "P.S. You can turn off these email notifications here: %8$s\n"
 msgstr ""
-"%1$s (@%9$s) hat dir gerade eine Nachricht (eine '@-Antwort') auf %2$s "
+"%1$s (@%9$s) hat dir gerade eine Nachricht (eine „@-Antwort“) auf „%2$s“ "
 "gesendet.\n"
 "\n"
 "Die Nachricht findest du hier:\n"
@@ -7711,7 +8024,7 @@ msgid ""
 "users in conversation. People can send you messages for your eyes only."
 msgstr ""
 "Du hast keine privaten Nachrichten. Du kannst anderen private Nachrichten "
-"schicken, um sie in eine Konversation zu verwickeln. Andere Leute können Dir "
+"schicken, um sie in eine Konversation zu verwickeln. Andere Leute können dir "
 "Nachrichten schicken, die nur du sehen kannst."
 
 #: lib/mailbox.php:228 lib/noticelist.php:516
@@ -7732,12 +8045,12 @@ msgstr "Sorry, das ist nicht deine Adresse für eingehende E-Mails."
 
 #: lib/mailhandler.php:50
 msgid "Sorry, no incoming email allowed."
-msgstr "Sorry, keinen eingehenden E-Mails gestattet."
+msgstr "Sorry, keine eingehenden E-Mails gestattet."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
-msgstr "Nachrichten-Typ %s wird nicht unterstützt."
+msgstr "Nachrichten-Typ „%s“ wird nicht unterstützt."
 
 #. TRANS: Client exception thrown when a database error was thrown during a file upload operation.
 #: lib/mediafile.php:99 lib/mediafile.php:125
@@ -7802,7 +8115,7 @@ msgstr "Konnte den MIME-Typ nicht feststellen."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7813,7 +8126,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "„%s“ ist kein unterstütztes Dateiformat auf diesem Server."
@@ -7954,43 +8267,43 @@ msgstr "Doppelte Nachricht."
 msgid "Couldn't insert new subscription."
 msgstr "Konnte neues Abonnement nicht eintragen."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Meine Zeitleiste"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Antworten"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoriten"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Posteingang"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Deine eingehenden Nachrichten"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Postausgang"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Deine gesendeten Nachrichten"
 
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr "Stichworte in den Nachrichten von %s"
+msgstr "Tags in den Nachrichten von „%s“"
 
 #. TRANS: Displayed as version information for a plugin if no version information was found.
 #: lib/plugin.php:121
 msgid "Unknown"
-msgstr "Unbekannter Befehl"
+msgstr "Unbekannt"
 
 #: lib/profileaction.php:109 lib/profileaction.php:205 lib/subgroupnav.php:82
 msgid "Subscriptions"
@@ -8039,7 +8352,7 @@ msgstr "Benutzer-Gruppen"
 
 #: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
 msgid "Recent tags"
-msgstr "Aktuelle Stichworte"
+msgstr "Aktuelle Tags"
 
 #: lib/publicgroupnav.php:88
 msgid "Featured"
@@ -8051,7 +8364,7 @@ msgstr "Beliebte Beiträge"
 
 #: lib/redirectingaction.php:95
 msgid "No return-to arguments."
-msgstr "Kein Rückkehr Argument."
+msgstr "Kein Rückkehr-Argument."
 
 #: lib/repeatform.php:107
 msgid "Repeat this notice?"
@@ -8072,9 +8385,8 @@ msgstr "Widerrufe die „%s“-Rolle von diesem Benutzer"
 
 #. TRANS: Client error on action trying to visit a non-existing page.
 #: lib/router.php:847
-#, fuzzy
 msgid "Page not found."
-msgstr "API-Methode nicht gefunden."
+msgstr "Seite nicht gefunden."
 
 #: lib/sandboxform.php:67
 msgid "Sandbox"
@@ -8085,16 +8397,17 @@ msgid "Sandbox this user"
 msgstr "Diesen Benutzer auf die Spielwiese setzen"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Website durchsuchen"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
-msgstr "Suchbegriff"
+msgstr "Suchbegriffe"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8115,7 +8428,7 @@ msgstr "Finde Leute auf dieser Seite"
 
 #: lib/searchgroupnav.php:83
 msgid "Find content of notices"
-msgstr "Durchsuche den Inhalt der Notices"
+msgstr "Durchsuche den Inhalt der Nachrichten"
 
 #: lib/searchgroupnav.php:85
 msgid "Find groups on this site"
@@ -8140,17 +8453,17 @@ msgstr "Benutzer verstummen lassen"
 #: lib/subgroupnav.php:83
 #, php-format
 msgid "People %s subscribes to"
-msgstr "Leute, die %s abonniert hat"
+msgstr "Leute, die „%s“ abonniert hat"
 
 #: lib/subgroupnav.php:91
 #, php-format
 msgid "People subscribed to %s"
-msgstr "Leute, die %s abonniert haben"
+msgstr "Leute, die „%s“ abonniert haben"
 
 #: lib/subgroupnav.php:99
 #, php-format
 msgid "Groups %s is a member of"
-msgstr "Gruppen in denen %s Mitglied ist"
+msgstr "Gruppen, in denen „%s“ Mitglied ist"
 
 #: lib/subgroupnav.php:105
 msgid "Invite"
@@ -8159,7 +8472,7 @@ msgstr "Einladen"
 #: lib/subgroupnav.php:106
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr "Lade Freunde und Kollegen ein dir auf %s zu folgen"
+msgstr "Lade Freunde und Kollegen ein, dir auf „%s“ zu folgen"
 
 #: lib/subscriberspeopleselftagcloudsection.php:48
 #: lib/subscriptionspeopleselftagcloudsection.php:48
@@ -8175,17 +8488,24 @@ msgstr "Personen-Tag, wie markiert wurde"
 msgid "None"
 msgstr "Nichts"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ungültiger Dateiname."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
-msgstr "Dieser Server kann nicht mit Theme-Uploads ohne ZIP-Support umgehen."
+msgstr ""
+"Dieser Server kann nicht mit Theme-Uploads ohne ZIP-Unterstützung umgehen."
 
 #: lib/themeuploader.php:58 lib/themeuploader.php:61
 msgid "The theme file is missing or the upload failed."
 msgstr "Die Theme-Datei fehlt oder das Hochladen ist fehlgeschlagen."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Speicherung des Themes fehlgeschlagen."
 
@@ -8195,14 +8515,21 @@ msgstr "Ungültiger Theme: schlechte Ordner-Struktur."
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr "Der hochgeladene Theme ist zu groß; er muss unter %d Bytes sein."
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Der hochgeladene Theme ist zu groß; er muss unkomprimiert unter einem Byte "
+"sein."
+msgstr[1] ""
+"Der hochgeladene Theme ist zu groß; er muss unkomprimiert unter %d Bytes "
+"sein."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Ungültigges Theme-Archiv: fehlende Datei css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8210,16 +8537,16 @@ msgstr ""
 "Der Theme enthält einen ungültigen Datei- oder Ordnernamen. Bleib bei ASCII-"
 "Buchstaben, Zahlen, Unterstrichen und Minuszeichen."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Theme enthält unsichere Dateierweiterungen; könnte unsicher sein."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Das Theme enthält Dateien des Types „.%s“, die nicht erlaubt sind."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Fehler beim Öffnen des Theme-Archives."
 
@@ -8227,6 +8554,12 @@ msgstr "Fehler beim Öffnen des Theme-Archives."
 msgid "Top posters"
 msgstr "Top-Schreiber"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Freigeben"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Von Spielwiese freigeben"
@@ -8245,7 +8578,7 @@ msgstr "Benutzer freigeben"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
-msgstr "Lösche dein Abonnement von diesem Benutzer"
+msgstr "Abonnement von diesem Benutzer abbestellen"
 
 #: lib/unsubscribeform.php:137
 msgid "Unsubscribe"
@@ -8256,7 +8589,7 @@ msgstr "Abbestellen"
 #: lib/usernoprofileexception.php:60
 #, php-format
 msgid "User %1$s (%2$d) has no profile record."
-msgstr "Benutzer %1$s (%2$d) hat kein Profil."
+msgstr "Benutzer „%1$s“ (%2$d) hat kein Profil."
 
 #: lib/userprofile.php:117
 msgid "Edit Avatar"
@@ -8280,7 +8613,7 @@ msgstr "Bearbeiten"
 
 #: lib/userprofile.php:287
 msgid "Send a direct message to this user"
-msgstr "Direkte Nachricht an Benutzer verschickt"
+msgstr "Direkte Nachricht an Benutzer versenden"
 
 #: lib/userprofile.php:288
 msgid "Message"
@@ -8364,25 +8697,27 @@ msgstr[1] "vor ca. %d Monaten"
 #. TRANS: Used in notices to indicate when the notice was made compared to now.
 #: lib/util.php:1206
 msgid "about a year ago"
-msgstr "vor einem Jahr"
+msgstr "vor ca. einem Jahr"
 
 #: lib/webcolor.php:80
 #, php-format
 msgid "%s is not a valid color!"
-msgstr "%s ist keine gültige Farbe!"
+msgstr "„%s“ ist keine gültige Farbe!"
 
 #. TRANS: Validation error for a web colour.
 #. TRANS: %s is the provided (invalid) text for colour.
 #: lib/webcolor.php:120
 #, php-format
 msgid "%s is not a valid color! Use 3 or 6 hex characters."
-msgstr "%s ist keine gültige Farbe! Verwende 3 oder 6 Hex-Zeichen."
+msgstr "„%s“ ist keine gültige Farbe! Verwende 3 oder 6 Hex-Zeichen."
 
 #. TRANS: %s is the URL to the StatusNet site's Instant Messaging settings.
 #: lib/xmppmanager.php:285
 #, php-format
 msgid "Unknown user. Go to %s to add your address to your account"
 msgstr ""
+"Unbekannter Benutzer. Gehe zu %s, um deine Adresse deinem Benutzerkonto "
+"hinzuzufügen."
 
 #. TRANS: Response to XMPP source when it sent too long a message.
 #. TRANS: %1$d the maximum number of allowed characters (used for plural), %2$d is the sent number.
@@ -8395,16 +8730,21 @@ msgstr[0] ""
 msgstr[1] ""
 "Nachricht zu lang - maximal %1$d Zeichen erlaubt, du hast %2$d gesendet."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "Backup-Datei des Benutzers %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr "Hole Backup von der Datei „%s“."
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
-msgstr "Keine Benutzer-ID angegeben"
+msgstr "Kein Benutzer angegeben; hole Backup-Benutzer."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr "%d Einträge im Backup."
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "Ein Eintrag im Backup."
+msgstr[1] "%d Einträge im Backup."
index d5813c03382aeda96c2e613fb8d66ff35c047088..032eff49fb3aaba76731fe6a62f51fe030fc3f03 100644 (file)
@@ -13,17 +13,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:10+0000\n"
 "Language-Team: British English <http://translatewiki.net/wiki/Portal:en-gb>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: en-gb\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -80,15 +80,22 @@ msgstr "Save access settings"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Save"
@@ -119,6 +126,7 @@ msgstr "No such page."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -131,14 +139,14 @@ msgstr "No such page."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "No such user."
@@ -155,7 +163,7 @@ msgstr "%1$s and friends, page %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s and friends"
@@ -210,7 +218,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -310,11 +320,12 @@ msgstr "Could not update user."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -327,11 +338,13 @@ msgstr "Could not save profile."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -505,43 +518,53 @@ msgstr "Could not determine source user."
 msgid "Could not find target user."
 msgstr "Could not find target user."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Nickname must have only lowercase letters and numbers, and no spaces."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Nickname already in use. Try another one."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Not a valid nickname."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Homepage is not a valid URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -550,10 +573,14 @@ msgstr "Full name is too long (max 255 chars)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -561,9 +588,11 @@ msgstr[0] "Description is too long (max %d chars)"
 msgstr[1] "Description is too long (max %d chars)"
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -571,7 +600,12 @@ msgstr "Location is too long (max 255 chars)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -587,15 +621,19 @@ msgstr "Invalid alias: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias \"%s\" already in use. Try another one."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias can't be the same as nickname."
 
@@ -699,21 +737,21 @@ msgid "Request token already authorized."
 msgstr "You are not authorised."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "There was a problem with your session token. Try again, please."
 
@@ -729,17 +767,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Database error inserting OAuth application user."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Unexpected form submission."
 
@@ -789,9 +829,10 @@ msgstr "Account"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -883,20 +924,21 @@ msgstr "You may not delete another user's status."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "No such notice."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Cannot repeat your own notice."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Already repeated that notice."
 
@@ -917,7 +959,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -932,7 +975,7 @@ msgstr "API method not found."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1037,104 +1080,139 @@ msgstr "API method under construction."
 msgid "User not found."
 msgstr "API method not found."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "No such attachment."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "No nickname."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "No size."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Invalid size."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "You can upload your personal avatar. The maximum file size is %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "User without matching profile."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatar settings"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Preview"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Delete"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Upload"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Crop"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "No file uploaded."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Pick a square area of the image to be your avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Lost our file data."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar updated."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Failed updating avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar deleted."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "You already blocked that user."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Block user"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1150,8 +1228,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1159,7 +1237,7 @@ msgstr "No"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Do not block this user"
 
@@ -1169,8 +1247,8 @@ msgstr "Do not block this user"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1178,140 +1256,170 @@ msgstr "Yes"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Block this user"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Failed to save block information."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "No such group."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s blocked profiles"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s blocked profiles, page %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "A list of the users blocked from joining this group."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Unblock user from group"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Unblock"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Unblock this user"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Post to %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "No confirmation code."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Confirmation code not found."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "That confirmation code is not for you!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Unrecognized address type %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "That address has already been confirmed."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Couldn't update user."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Couldn't delete IM confirmation."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirm address"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "The address \"%s\" has been confirmed for your account."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversation"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notices"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "You must be logged in to delete an application."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Application not found."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "You are not the owner of this application."
@@ -1319,15 +1427,18 @@ msgstr "You are not the owner of this application."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "There was a problem with your session token."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Delete application"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1338,12 +1449,12 @@ msgstr ""
 "connections."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Do not delete this application"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Delete this application"
 
@@ -1377,12 +1488,13 @@ msgstr "Could not delete group %s."
 msgid "Deleted group %s"
 msgstr "Deleted group %s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Delete group"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1403,22 +1515,27 @@ msgstr "Do not delete this group"
 msgid "Delete this group"
 msgstr "Delete this group"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Not logged in."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Can't delete this notice."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1426,21 +1543,24 @@ msgstr ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Delete notice"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Are you sure you want to delete this notice?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Do not delete this notice"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Delete this notice"
 
@@ -1524,12 +1644,14 @@ msgstr "Custom theme"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Change background image"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Background"
 
@@ -1543,40 +1665,48 @@ msgstr ""
 "$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "On"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Off"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Turn background image on or off."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Tile background image"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Change colours"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Content"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Sidebar"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Text"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Links"
 
@@ -1588,29 +1718,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Use defaults"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restore default designs"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Reset back to default"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Save"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Save design"
 
@@ -1654,9 +1786,9 @@ msgid "Name is required."
 msgstr "Name is required."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Name is too long (max 255 chars)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1685,7 +1817,7 @@ msgid "Organization is required."
 msgstr "Organisation is required."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organisation is too long (max 255 chars)."
@@ -1709,49 +1841,49 @@ msgstr "Callback URL is not valid."
 msgid "Could not update application."
 msgstr "Could not update application."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Edit %s group"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "You must be logged in to create a group."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "You must be an admin to edit the group."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Use this form to edit the group."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Description is too long (max %d chars)"
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Too many aliases! Maximum %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Invalid alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Could not update group."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Could not create aliases."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Options saved."
 
@@ -1942,6 +2074,12 @@ msgstr "No pending confirmation to cancel."
 msgid "That is the wrong email address."
 msgstr "That is the wrong e-mail address."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Couldn't delete email confirmation."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2024,7 +2162,7 @@ msgstr ""
 "notice to your favourites!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s's favourite notices"
@@ -2121,19 +2259,23 @@ msgstr "You cannot grant user roles on this site."
 msgid "User already has this role."
 msgstr "User already has this role."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "No profile specified."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "No profile with that ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "No group specified."
@@ -2199,8 +2341,10 @@ msgstr ""
 "Customise the way your group looks with a background image and a colour "
 "palette of your choice."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Couldn't update your design."
 
@@ -2219,6 +2363,14 @@ msgid ""
 msgstr ""
 "You can upload a logo image for your group. The maximum file size is %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Upload"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Crop"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Pick a square area of the image to be the logo."
@@ -2361,15 +2513,18 @@ msgstr ""
 "Why not [register an account](%%action.register%%) and [create the group](%%"
 "action.newgroup%%) yourself!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Only an admin can unblock group members."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "User is not blocked from group."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Error removing the block."
 
@@ -2457,7 +2612,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publish a MicroID for my Jabber/GTalk address."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferences saved."
 
@@ -2580,10 +2735,9 @@ msgstr[1] "You are already subscribed to these users:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2767,8 +2921,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Location is too long (max 255 chars)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2939,28 +3094,20 @@ msgstr "You must be logged in to register an application."
 msgid "Use this form to register a new application."
 msgstr "Use this form to register a new application."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Name is too long (max 255 chars)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Source URL is required."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organisation is too long (max 255 chars)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Could not create application."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "New group"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Use this form to create a new group."
@@ -2970,14 +3117,14 @@ msgid "New message"
 msgstr "New message"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "You can't send a message to this user."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "No content!"
 
@@ -2986,7 +3133,7 @@ msgid "No recipient specified."
 msgstr "No recipient specified."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2998,12 +3145,12 @@ msgstr "Message sent"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Direct message to %s sent."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax Error"
 
@@ -3011,17 +3158,7 @@ msgstr "Ajax Error"
 msgid "New notice"
 msgstr "New notice"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "That's too long. Max notice size is %d chars."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Max notice size is %d chars, including attachment URL."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Notice posted"
 
@@ -3159,25 +3296,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Notice has no profile."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s's status on %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Content type %s not supported."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Not a supported data format."
@@ -3190,36 +3327,46 @@ msgstr "People Search"
 msgid "Notice Search"
 msgstr "Notice Search"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Other settings"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Manage various other options."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Shorten URLs with"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Automatic shortening service to use."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "View profile designs"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Show or hide profile designs."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL shortening service is too long (max 50 chars)."
 
 #: actions/otp.php:69
@@ -3652,8 +3799,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Full name"
@@ -3693,9 +3841,10 @@ msgid "Bio"
 msgstr "Bio"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Location"
@@ -4033,7 +4182,8 @@ msgid "Unexpected password reset."
 msgstr "Unexpected password reset."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Password must be 6 chars or more."
 
 #: actions/recoverpassword.php:369
@@ -4269,7 +4419,7 @@ msgid "Repeated!"
 msgstr "Repeated!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Replies to %s"
@@ -4400,11 +4550,12 @@ msgstr "Organization"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Description"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistics"
@@ -4422,6 +4573,11 @@ msgstr "Application actions"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Delete"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Application information"
@@ -4512,77 +4668,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s group"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s group, page %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Group profile"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Note"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Group actions"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Notice feed for %s group (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Notice feed for %s group (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Notice feed for %s group (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF for %s group"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Members"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(None)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "All members"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Created"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Members"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4597,7 +4782,10 @@ msgstr ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4610,24 +4798,31 @@ msgstr ""
 "[StatusNet](http://status.net/) tool. Its members share short messages about "
 "their life and interests. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Admins"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "No such message."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Only the sender and recipient may read this message."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Message to %1$s on %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Message from %1$s on %2$s"
@@ -4636,53 +4831,75 @@ msgstr "Message from %1$s on %2$s"
 msgid "Notice deleted."
 msgstr "Notice deleted."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " tagged %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, page %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Notices tagged with %1$s, page %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, page %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Notice feed for %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Notice feed for %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Notice feed for %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF for %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "This is the timeline for %1$s but %2$s hasn't posted anything yet."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4691,7 +4908,9 @@ msgstr ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4704,7 +4923,9 @@ msgstr ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4715,7 +4936,8 @@ msgstr ""
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repeat of %s"
@@ -4825,31 +5047,38 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Site Notice"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Edit site-wide message"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Unable to save site notice."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Site notice text"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Save site notice"
 
@@ -5064,12 +5293,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Save snapshot settings"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "You are not subscribed to that profile."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Could not save subscription."
 
@@ -5303,75 +5534,92 @@ msgstr ""
 "Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "User"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profile"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "New users"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "New user welcome"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Welcome text for new users (maximum 255 characters)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Default subscription"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Automatically subscribe new users to this user."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitations"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Invitations enabled"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5479,11 +5727,13 @@ msgstr "Can’t read avatar URL ‘%s’."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Wrong image type for avatar URL ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Profile design"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5580,7 +5830,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Version"
 
@@ -5613,29 +5863,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Invalid filename."
 
@@ -5763,39 +6022,46 @@ msgid "Problem saving notice."
 msgstr "Problem saving notice."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problem saving group inbox."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Could not save reply for %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5865,32 +6131,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Welcome to %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Could not create group."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Could not set group URI."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Could not set group membership."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Could not save local group info."
 
@@ -5940,194 +6206,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Untitled page"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Primary site navigation"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Personal profile and friends timeline"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Change your email, avatar, password, profile"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Account"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Connect to services"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Connect"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Change site configuration"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Admin"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invite friends and colleagues to join you on %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Invite"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Logout from the site"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Logout"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Create an account"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Register"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Login to the site"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Login"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Help me!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Help"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Search for people or text"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Search"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Site notice"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Local views"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Page notice"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Secondary site navigation"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Help"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "About"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "F.A.Q."
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacy"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Source"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contact"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Badge"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet software licence"
 
@@ -6135,7 +6408,7 @@ msgstr "StatusNet software licence"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6145,7 +6418,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** is a microblogging service."
@@ -6154,7 +6427,7 @@ msgstr "**%%site.name%%** is a microblogging service."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6166,50 +6439,50 @@ msgstr ""
 "org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Site content licence"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "All %1$s content and data are available under the %2$s licence."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Pagination"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "After"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Before"
 
@@ -6288,7 +6561,7 @@ msgid "User configuration"
 msgstr "User configuration"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "User"
 
@@ -6549,7 +6822,7 @@ msgid "AJAX error"
 msgstr "AJAX error"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Command complete"
 
@@ -6565,7 +6838,7 @@ msgstr "Notice with that id does not exist."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "User has no last notice."
 
@@ -6631,6 +6904,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6668,133 +6949,137 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Message too long - maximum is %1$d characters, you sent %2$d."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[1] "Message too long - maximum is %1$d characters, you sent %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Error sending direct message."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Notice from %s repeated."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Error repeating notice."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Notice too long - maximum is %1$d characters, you sent %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[1] "Notice too long - maximum is %1$d characters, you sent %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Reply to %s sent."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Error saving notice."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Specify the name of the user to subscribe to."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Can't subscribe to OMB profiles by command."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Specify the name of the user to unsubscribe from."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Command not yet implemented."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notification off."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Can't turn off notification."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notification on."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Can't turn on notification."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "You are not subscribed to anyone."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "You are subscribed to this person:"
@@ -6802,14 +7087,14 @@ msgstr[1] "You are subscribed to these people:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "No one is subscribed to you."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "This person is subscribed to you:"
@@ -6817,21 +7102,21 @@ msgstr[1] "These people are subscribed to you:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "You are not a member of any groups."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "You are a member of this group:"
 msgstr[1] "You are a member of these groups:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6972,26 +7257,42 @@ msgstr "Authorised connected applications"
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Upload file"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 "You can upload your personal background image. The maximum file size is 2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "On"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Off"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Reset"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Design defaults restored."
 
@@ -7019,7 +7320,8 @@ msgstr ""
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7057,7 +7359,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL of the homepage or blog of the group or topic"
 
 #: lib/groupeditform.php:168
@@ -7065,20 +7368,29 @@ msgid "Describe the group or topic"
 msgstr "Describe the group or topic"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Describe the group or topic in %d characters"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Describe the group or topic in %d characters"
+msgstr[1] "Describe the group or topic in %d characters"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7178,39 +7490,57 @@ msgstr "This page is not available in a media type you accept"
 msgid "Unsupported image file format."
 msgstr "Unsupported image file format."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "That file is too big. The maximum file size is %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Partial upload."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "System error uploading file."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Not an image or corrupt file."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Lost our file."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Unknown file type"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr ""
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr ""
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7420,7 +7750,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) added your notice as a favorite"
@@ -7430,7 +7760,7 @@ msgstr "%s (@%s) added your notice as a favorite"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7452,7 +7782,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7462,7 +7792,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) sent a notice to your attention"
@@ -7473,7 +7803,7 @@ msgstr "%s (@%s) sent a notice to your attention"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7530,7 +7860,7 @@ msgstr "Sorry, that is not your incoming e-mail address."
 msgid "Sorry, no incoming email allowed."
 msgstr "Sorry, no incoming e-mail allowed."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Unsupported message type: %s"
@@ -7592,7 +7922,7 @@ msgstr "Could not determine file's MIME type."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7601,7 +7931,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7740,31 +8070,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Couldn't insert new subscription."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Replies"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favourites"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Inbox"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Your incoming messages"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Outbox"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Your sent messages"
 
@@ -7871,16 +8201,17 @@ msgid "Sandbox this user"
 msgstr "Sandbox this user"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Search site"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7961,6 +8292,12 @@ msgstr ""
 msgid "None"
 msgstr "None"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Invalid filename."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7970,8 +8307,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Failed saving theme."
 
@@ -7981,29 +8318,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Error opening theme archive."
 
@@ -8011,6 +8351,13 @@ msgstr "Error opening theme archive."
 msgid "Top posters"
 msgstr "Top posters"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Unblock"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Unsandbox"
@@ -8177,16 +8524,21 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Message too long - maximum is %1$d characters, you sent %2$d."
 msgstr[1] "Message too long - maximum is %1$d characters, you sent %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "No user specified; using backup user."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index f577725db019d402508b463e2209344229b4a4f3..5804eab035f9fb7855246399a76aa9d859c6112c 100644 (file)
@@ -15,17 +15,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:55+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:11+0000\n"
 "Language-Team: Esperanto <http://translatewiki.net/wiki/Portal:eo>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: eo\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -82,15 +82,22 @@ msgstr "Konservu atingan agordon"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Konservu"
@@ -121,6 +128,7 @@ msgstr "Ne estas tiu paĝo."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -133,14 +141,14 @@ msgstr "Ne estas tiu paĝo."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Ne ekzistas tiu uzanto."
@@ -157,7 +165,7 @@ msgstr "%1$s kaj amikoj, paĝo %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s kaj amikoj"
@@ -212,7 +220,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -312,11 +322,12 @@ msgstr "Malsukcesis ĝisdatigi uzanton"
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -329,11 +340,13 @@ msgstr "Malsukcesis konservi la profilon."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -507,44 +520,54 @@ msgstr " Malsukcesis certigi fontan uzanton."
 msgid "Could not find target user."
 msgstr "Malsukcesis trovi celan uzanton."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 "Kromnomo devas havi nur minuskulajn literojn kaj numerojn sed neniun spacon."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "La uzantnomo jam uziĝis. Provu ion alian."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Ne valida kromnomo."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Ĉefpaĝo ne estas valida URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -553,10 +576,14 @@ msgstr "Plennomo estas tro longa (maksimume 255 literoj)"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -564,9 +591,11 @@ msgstr[0] "Priskribo estas tro longa (maksimume %d signoj)."
 msgstr[1] "Priskribo estas tro longa (maksimume %d signoj)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -574,7 +603,12 @@ msgstr "lokonomo estas tro longa (maksimume 255 literoj)"
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -590,15 +624,19 @@ msgstr "La alinomo estas nevalida: \"%*s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "La alinomo \"%s\" estas jam okupita. Provu ion alian."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "La alinomo devas ne esti sama al la kromnomo."
 
@@ -702,21 +740,21 @@ msgid "Request token already authorized."
 msgstr "Vi ne estas rajtigita."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Estis problemo pri via seanco. Bonvolu provi refoje."
 
@@ -732,17 +770,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Datumbaza eraro enigi la uzanton de *OAuth-aplikaĵo."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Neatendita formo-sendo."
 
@@ -791,9 +831,10 @@ msgstr "Konto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -887,20 +928,21 @@ msgstr "Vi ne povas forigi la staton de alia uzanto."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Ne estas tiu avizo."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Vi ne povas ripeti vian propran avizon."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "La avizo jam ripetiĝis."
 
@@ -921,7 +963,8 @@ msgstr "Kliento devas providi al \"stato\"-parametro valoron."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -936,7 +979,7 @@ msgstr "Metodo de API ne troviĝas."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1044,104 +1087,139 @@ msgstr "API-metodo farata."
 msgid "User not found."
 msgstr "Metodo de API ne troviĝas."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Ne estas tiu aldonaĵo."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Neniu kromnomo."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr " Neniu grando."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Grando nevalida."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Vizaĝbildo"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Vi povas alŝuti vian personan vizaĝbildon. Dosiero-grandlimo estas %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Uzanto sen egala profilo."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Vizaĝbilda agordo"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Originala"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Antaŭrigardo"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Forigi"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Alŝuti"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Tranĉi"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Neniu dosiero alŝutiĝas."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Elektu kvadratan parton de la bildo kiel via vizaĝbildo"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Perdiĝis nia dosiera datumo."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Vizaĝbildo ĝisdatigita."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Eraris ĝisdatigi vizaĝbildon."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Vizaĝbildo forigita."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Vi jam blokis la uzanton."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloki uzanton"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1156,8 +1234,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1165,7 +1243,7 @@ msgstr "Ne"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Ne bloki la uzanton"
 
@@ -1175,8 +1253,8 @@ msgstr "Ne bloki la uzanton"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1184,140 +1262,170 @@ msgstr "Jes"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloki la uzanton"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Eraris konservi blokado-informon."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Ne estas tiu grupo."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s profiloj blokitaj"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s profiloj blokitaj, paĝo %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Listo de uzantoj blokita de aniĝi al ĉi tiun grupo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Malbloki uzanton de grupo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Malbloki"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Malbloki ĉi tiun uzanton"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Sendi al %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Neniu konfirma kodo."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Konfirma kodo ne trovitas."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Tiu komfirmnumero ne estas por vi!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Nerekonata adrestipo %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "La adreso jam estis konfirmita."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Ne povus ĝisdatigi uzanton."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Ne povas forigi retpoŝtan konfirmon."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Malsukcesis forigi tujmesaĝila agordo."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Konfirmi retadreson"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Adreso \"%s\" nun konfirmitas je via konto."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Konversacio"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Avizoj"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Ensalutu por forigi la aplikaĵon."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplikaĵo ne trovita."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Vi ne estas la posedanto de ĉi tiu aplikaĵo."
@@ -1325,15 +1433,18 @@ msgstr "Vi ne estas la posedanto de ĉi tiu aplikaĵo."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Problemo okazas pri via seancĵetono."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Forigi aplikaĵon"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1343,12 +1454,12 @@ msgstr ""
 "la datumbazo, inkluzive de ĉiu ekzistanta uzanto-konekto."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Ne forigu ĉi tiun aplikaĵon."
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Viŝi ĉi tiun aplikon"
 
@@ -1384,13 +1495,14 @@ msgstr "Malsukcesis ĝisdatigi grupon."
 msgid "Deleted group %s"
 msgstr "%1$s eksaniĝis de grupo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Forigi uzanton"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1413,43 +1525,51 @@ msgstr "Ne forigi la avizon"
 msgid "Delete this group"
 msgstr "Forigi la uzanton"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Ne konektita."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Ne povas forigi ĉi tiun avizon."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 "Vi nun por ĉiam forigos avizon. Kiam tio fariĝos, ne plu eblos malfari tion."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Forigi avizon"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Ĉu vi certe volas forigi la avizon?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Ne forigi la avizon"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Forigi la avizon"
 
@@ -1535,12 +1655,14 @@ msgstr "Propra desegno"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Vi povas alŝuti propran StatusNet-desegnon kiel .zip-dosiero"
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Ŝanĝi fonbildon"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fono"
 
@@ -1552,40 +1674,48 @@ msgid ""
 msgstr "Vi povas alŝuti fonbildon por la retejo. Dosiero-grandlimo estas %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "En"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "For"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Aktivigi aŭ senaktivigi fonbildon"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Ripeti la fonbildon"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Ŝanĝi kolorojn"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Enhavo"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Flanka strio"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Teksto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Ligiloj"
 
@@ -1597,29 +1727,31 @@ msgstr "Speciala"
 msgid "Custom CSS"
 msgstr "Propra CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Uzu defaŭlton"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaŭri defaŭltajn desegnojn"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Redefaŭltiĝi"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Konservi"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Savi desegnon"
 
@@ -1663,9 +1795,9 @@ msgid "Name is required."
 msgstr "Nomo necesas."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "La nomo estas tro longa (maksimume 255 literoj)"
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1694,7 +1826,7 @@ msgid "Organization is required."
 msgstr "Organizo necesas."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organizonomo estas tro longa (maksimume 255 literoj)."
@@ -1718,49 +1850,49 @@ msgstr "Revokfunkcia URL estas nevalida."
 msgid "Could not update application."
 msgstr "Malsukcesis ĝisdatigi la aplikaĵon."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Redakti %s grupon"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Ensalutu por krei grupon."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Vi devas esti administranto por redakti la grupon."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Uzas ĉi tiun formularon por redakti la grupon."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Priskribo estas tro longa (maksimume %d signoj)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Tro da alinomoj! Maksimume %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Nevalida alinomo: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Malsukcesis ĝisdatigi grupon."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Malsukcesis krei alinomon."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Elektoj konserviĝis."
 
@@ -1951,6 +2083,12 @@ msgstr "Ne estas peto-konfirmo por nuligi."
 msgid "That is the wrong email address."
 msgstr "Tiu retpoŝtadreso estas malĝusta."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Ne povas forigi retpoŝtan konfirmon."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2032,7 +2170,7 @@ msgstr ""
 "sia ŝatolisto!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Ŝatataj avizoj de %s"
@@ -2129,19 +2267,23 @@ msgstr "Vi ne rajtas doni al uzanto rolon ĉe ĉi tiu retejo."
 msgid "User already has this role."
 msgstr "Uzanto jam havas la rolon."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Neniu profilo elektita."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Ne estas profilo kun tiu ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Neniu grupo elektita."
@@ -2204,8 +2346,10 @@ msgid ""
 "palette of your choice."
 msgstr "Agordi kiel aspektu via grupo, per elekto de fonbildo kaj koloraro."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Malsukcesis ĝisdatigi vian desegnon."
 
@@ -2224,6 +2368,14 @@ msgid ""
 msgstr ""
 "Vi povas alŝuti emblemo-bildon por via grupo. Dosiero-grandlimo estas $s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Alŝuti"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Tranĉi"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Elektu kvadratan parton de la bildo kiel la emblemo."
@@ -2366,15 +2518,18 @@ msgstr ""
 "Kial ne [krei konton](%%action.register%%) kaj mem [krei la grupon](%%action."
 "newgroup%%)!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Nur grupestro rajtas malbloki grupanon."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "La uzanto ne estas blokita de grupo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Eraro ĉe provo malbloki."
 
@@ -2462,7 +2617,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publikigu MikroID por mia Jabber/GTalk-adreso."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Prefero konservita."
 
@@ -2586,10 +2741,9 @@ msgstr[1] "Vi jam abonas jenajn uzantojn:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2769,7 +2923,8 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Nevalida permesila titolo. La longlimo estas 255 literoj."
 
 #: actions/licenseadminpanel.php:168
@@ -2940,28 +3095,20 @@ msgstr "Ensalutu por registri aplikaĵon."
 msgid "Use this form to register a new application."
 msgstr "Uzu ĉi tiun formularon por registri novan aplikaĵon."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "La nomo estas tro longa (maksimume 255 literoj)"
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Fonta URL bezonata."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organizonomo estas tro longa (maksimume 255 literoj)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Malsukcesis krei aplikaĵon."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nova grupo"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Uzas ĉi tiun formularon por krei novan grupon."
@@ -2971,14 +3118,14 @@ msgid "New message"
 msgstr "Nova mesaĝo"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Vi ne povas sendi mesaĝon al la uzanto."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Neniu enhavo!"
 
@@ -2987,7 +3134,7 @@ msgid "No recipient specified."
 msgstr "Neniu ricevonto speifiĝas."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Ne sendu mesaĝon al vi mem! Simple suspiru anstataŭ."
@@ -2998,12 +3145,12 @@ msgstr "Mesaĝo sendita"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Rekta mesaĝo al %s sendiĝis."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Eraro de Ajax"
 
@@ -3011,17 +3158,7 @@ msgstr "Eraro de Ajax"
 msgid "New notice"
 msgstr "Nova avizo"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Tro longas. Longlimo por avizo estas %d signoj."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Longlimo por avizo estas %d signoj, enkalkulante ankaŭ la retadresojn."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Avizo afiŝiĝas"
 
@@ -3159,25 +3296,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Avizo sen profilo"
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Stato de %1$s ĉe %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Enhavtipo %s ne subteniĝas."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Bonvolu, nur %s-URL per plata HTTP."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Datumformato ne subteniĝas."
@@ -3190,36 +3327,46 @@ msgstr "Homserĉo"
 msgid "Notice Search"
 msgstr "Avizoserĉo"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Aliaj agordoj"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Agordi diversajn aliajn elektojn."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (Senpaga servo)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Mallongigu URLojn per"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Uzota aŭtomata mallongigad-servo."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Vidi profilo-desegnon"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Montri aŭ kaŝi profilo-desegnon."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL-mallongigado-servo tro longas (maksimume 50 literojn)."
 
 #: actions/otp.php:69
@@ -3646,8 +3793,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 minusklaj literoj aŭ ciferoj, neniu interpunkcio aŭ spaco"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Plena nomo"
@@ -3687,9 +3835,10 @@ msgid "Bio"
 msgstr "Biografio"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Loko"
@@ -4024,7 +4173,8 @@ msgid "Unexpected password reset."
 msgstr "Neatendita pasvorto-rekomencigo."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Pasvorto devas enhavi 6 signojn aŭ pli."
 
 #: actions/recoverpassword.php:369
@@ -4263,7 +4413,7 @@ msgid "Repeated!"
 msgstr "Ripetita!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respondoj al %s"
@@ -4396,11 +4546,12 @@ msgstr "Organizaĵo"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Priskribo"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistiko"
@@ -4418,6 +4569,11 @@ msgstr "Aplikaĵa ago"
 msgid "Reset key & secret"
 msgstr "Rekomencigi ŝlosilon & sekreton"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Forigi"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Aplikaĵa informo"
@@ -4508,77 +4664,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Tiel vi povas diskonigi vian ŝataton."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupo %1$s, paĝo %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Grupa profilo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Noto"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Alnomo"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Grupaj agoj"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Avizofluo de grupo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Avizofluo de grupo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Avizofluo de grupo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Foramiko de grupo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Grupanoj"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(nenio)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Ĉiuj grupanoj"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Kreita"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Grupanoj"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4592,7 +4777,10 @@ msgstr ""
 "[StatusNet](http://status.net/). [Aniĝu](%%action.register%%) por fariĝi "
 "parto de tiu ĉi grupo kaj multe pli! ([Pli](%%doc.help%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4605,24 +4793,31 @@ msgstr ""
 "Molvaro [StatusNet](*http://*status.*net/), kie anoj konigas mesaĝetojn pri "
 "siaj vivoj kaj ŝatokupoj. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administrantoj"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Ne estas tiu mesaĝo."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Nur la sendinto kaj ricevinto rajtas legi la mesaĝon."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mesaĝo al %1$s ĉe %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mesaĝo de %1$s ĉe %2$s"
@@ -4631,54 +4826,76 @@ msgstr "Mesaĝo de %1$s ĉe %2$s"
 msgid "Notice deleted."
 msgstr "Avizo viŝiĝas"
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " Etikedigita %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, paĝo %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Avizoj etikeditaj per %1$s - paĝo %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, paĝo %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Avizofluo pri %1$s etikedigita %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Avizofluo pri %1$s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Avizofluo pri %1$s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Avizofluo pri %1$s  (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "Foramiko de  %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Tie ĉi estus tempstrio de %1$s sed %2$s ankoraŭ afiŝis nenion."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 "Ĉu okazas io interesa lastatempe? Vi ne afiŝis ion ajn, nun taŭgas komenci :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4687,7 +4904,9 @@ msgstr ""
 "Vi povas provi  [puŝeti %1$s] aŭ [afiŝi ion al li](%%%%action.newnotice%%%%?"
 "status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4695,23 +4914,26 @@ msgid ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** havas konton ĉe %%site.name%%, [mikrobloga](http://en.wikipedia.org/"
-"wiki/Micro-blogging) servo surbaze de ilaro de Libera Molvaro [StatusNet]"
-"(http://status.net/). [Aniĝu](%%action.register%%) por sekvi avizojn de **%"
-"s** kaj multe pli! ([Pli](%%doc.help%%))"
+"**%s** havas konton ĉe %%%%site.name%%%%, [mikrobloga](http://en.wikipedia."
+"org/wiki/Micro-blogging) servo surbaze de ilaro de Libera Molvaro [StatusNet]"
+"(http://status.net/). [Aniĝu](%%%%action.register%%%%) por sekvi avizojn de "
+"**%s** kaj multe pli! ([Pli](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
-"**%s** havas konton ĉe %%site.name%%, [mikrobloga](http://en.wikipedia.org/"
-"wiki/Micro-blogging) servo surbaze de ilaro de Libera Molvaro [StatusNet]"
+"**%s** havas konton ĉe %%%%site.name%%%%, [mikrobloga](http://en.wikipedia."
+"org/wiki/Micro-blogging) servo surbaze de ilaro de Libera Molvaro [StatusNet]"
 "(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Ripeto de %s"
@@ -4822,31 +5044,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Kiel longe devas uzantoj atendas (je sekundo) antaŭ afiŝi la saman refejo."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Reteja Anonco"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Redakti retejan mesaĝon"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Malsukcesis konservi retejan anoncon."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Longlimo por reteja anonco estas 255 literoj."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Teksto de reteja anonco."
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Teksto de reteja anonco (apenaŭ 255 literoj; HTML eblas)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Konservi retejan agordon"
 
@@ -5061,12 +5292,14 @@ msgstr "Momentfotoj sendiĝos al ĉi tiu URL"
 msgid "Save snapshot settings"
 msgstr "Konservi retejan agordon"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Vi ne abonis tiun profilon."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Malsukcesis konservi abonon."
 
@@ -5301,75 +5534,93 @@ msgstr ""
 "Rigardato-flua permesilo \"%1$s\" ne konformas al reteja permesilo \"%2$s\"."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Uzanto"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Nevalida biografia longlimo. Estu cifero."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Nevalida bonvena teksto. La longlimo estas 225 literoj."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Nevalida defaŭlta abono: '%1$s' ne estas uzanto."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profilo"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Longlimo de biografio"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Longlimo de profila biografio, je literoj"
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Novuloj"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Bonveno al novuloj"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Bonvena teksto al novaj uzantoj (apenaŭ 255 literoj)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Defaŭlta abono"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Aŭtomate aboni novajn uzantojn al ĉi tiu uzanto."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitoj"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Invito ebliĝis"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Ĉu permesi al uzantoj inviti novan uzantojn."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5474,11 +5725,13 @@ msgstr "Malsukcesis legi vizaĝbildan URL ‘%s’."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Malĝusta bildotipo por vizaĝbilda URL ‘%s'."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Profila desegno"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5574,7 +5827,7 @@ msgid "Plugins"
 msgstr "Kromprogramo"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versio"
 
@@ -5607,31 +5860,42 @@ msgstr "Robin pensas ke io neeblas."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Grandlimo por sendota dosiero estas %1$d bajtoj, tamen tio, kion vi volis "
+"sendi grandas %2$d bajtojn. Provu per versio pli malgranda."
+msgstr[1] ""
 "Grandlimo por sendota dosiero estas %1$d bajtoj, tamen tio, kion vi volis "
 "sendi grandas %2$d bajtojn. Provu per versio pli malgranda."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Dosiero tiel granda superos vian uzantan kvoton kun %d bajtoj."
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "Dosiero tiel granda superos vian uzantan kvoton kun %d bajtoj."
+msgstr[1] "Dosiero tiel granda superos vian uzantan kvoton kun %d bajtoj."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Dosiero tiel granda superos vian monatan kvoton kun %d bajtoj."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Dosiero tiel granda superos vian monatan kvoton kun %d bajtoj."
+msgstr[1] "Dosiero tiel granda superos vian monatan kvoton kun %d bajtoj."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nevalida dosiernomo."
 
@@ -5758,39 +6022,47 @@ msgid "Problem saving notice."
 msgstr "Malsukcesis konservi avizon."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Fuŝa tipo donita al saveKnownGroups"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Malsukcesis konservi grupan alvenkeston."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Malsukcesis lokan grupan informon."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Malsukcesis revoki rolon \"%1$s\" de uzanto #%2$d; ĝi ne ekzistas."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr "Malsukcesis revoki rolon \"%1$s\" de uzanto #%2$d; datumbaza eraro."
@@ -5860,32 +6132,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Bonvenon al %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Neniu difinata uzanto por sol-uzanta reĝimo."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Malsukcesis krei grupon."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Malsukcesis ĝisdatigi grupan URI."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Malsukcesis ĝisdatigi grupan anecon."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Malsukcesis lokan grupan informon."
 
@@ -5935,194 +6207,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Sentitola paĝo"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Unua reteja navigado"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Tempstrio pri vi kaj amikoj"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Persona"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Ŝanĝu la retpoŝtadreson, vizaĝbildon, pasvorton aŭ la profilon"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Konekti al servoj"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Konekti"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Ŝanĝi agordojn de la retejo"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administri"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Inviti amikojn kaj kolegojn al %s kun vi"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Inviti"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Elsaluti el la retejo"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr " Elsaluti"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Krei konton"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registriĝi"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Ensaluti al la retejo"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Ensaluti"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Helpu min!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Helpo"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Serĉi homon aŭ tekston"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Serĉi"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Reteja anonco"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Loka vido"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Paĝa anonco"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Dua reteja navigado"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Helpo"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Enkonduko"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Oftaj demandoj"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Serva Kondiĉo"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privateco"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Fontkodo"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Insigno"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licenco de la programaro StatusNet"
 
@@ -6130,7 +6409,7 @@ msgstr "Licenco de la programaro StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6140,7 +6419,7 @@ msgstr ""
 "site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** estas mikrobloga servo."
@@ -6149,7 +6428,7 @@ msgstr "**%%site.name%%** estas mikrobloga servo."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6161,27 +6440,27 @@ msgstr ""
 "licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Reteja enhava permesilo"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Enhavo kaj datumo de %1$s estas privata kaj konfidenca."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 "Enhava kaj datuma aŭtorrajto apartenas al %1$s. Ĉiuj rajtoj rezervitaj."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Enhava kaj datuma aŭtorrajto apartenas al kontribuintoj. Ĉiuj rajtoj "
@@ -6189,25 +6468,25 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Ĉiuj enhavo kaj datumo ĉe %1$s estas havebla sub permesilo %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paĝado"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Poste"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Antaŭe"
 
@@ -6286,7 +6565,7 @@ msgid "User configuration"
 msgstr "Uzanta agordo"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Uzanto"
 
@@ -6550,7 +6829,7 @@ msgid "AJAX error"
 msgstr "Eraro de Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Komando kompleta"
 
@@ -6566,7 +6845,7 @@ msgstr "Avizo kun tiu identigaĵo ne ekzistas."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "La uzanto ne havas lastan averton."
 
@@ -6635,6 +6914,14 @@ msgstr "%1$s aniĝis al grupo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s foriras de grupo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6674,135 +6961,141 @@ msgstr ""
 "%s estas fora profilo; vi povas sendi rektan mesaĝon nur al uzanto je sama "
 "servilo."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
+msgstr[1] "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Eraris sendi rektan mesaĝon."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Avizo de %s ripetiĝas."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Eraris ripeti avizon."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Avizo tro longas - longlimo estas %1$d lietroj, kaj via mesaĝo longas je %2"
+"$d."
+msgstr[1] ""
 "Avizo tro longas - longlimo estas %1$d lietroj, kaj via mesaĝo longas je %2"
 "$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Respondo al %s sendiĝas."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Eraris sendi avizon."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Specifu nomon de la abonota uzanto."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Malsukcesis aboni OMB-profilon per komando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "%s abonita"
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Specifu la nomon de uzanto malabonota."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "%s malabonita."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Komando ankoraŭ ne realigita."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Sciigo for."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Malsukcesis malŝalti sciigon."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Sciigo en."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Malsukcesis ŝalti sciigon."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Ensaluta komando malebliĝas."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "Ĉi tiu ligilo estas uzebla nur unufoje kaj valida nur 2 minutojn: %s."
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "%s malaboniĝas."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Vi ne abonas iun ajn."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Vi abonas jenan homon:"
@@ -6810,14 +7103,14 @@ msgstr[1] "Vi abonas jenajn homojn:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Neniu abonas vin."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "La homo abonas vin:"
@@ -6825,21 +7118,21 @@ msgstr[1] "La homoj abonas vin:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Vi ne estas grupano de iu ajn grupo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Vi estas grupano de jena grupo:"
 msgstr[1] "Vi estas grupano de jenaj grupoj:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6983,26 +7276,42 @@ msgstr "Konektitaj aplikaĵoj rajtigitaj"
 msgid "Database error"
 msgstr "Datumbaza eraro"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Alŝuti dosieron"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 "Vi povas alŝuti vian propran fonbildon. La dosiera grandlimo estas 2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"La servilo ne povis trakti tiom da POST-datumo (% bajtoj) pro ĝia nuna "
-"agordo."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "En"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "For"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Restarigi"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Desegnaj defaŭltoj konserviĝas."
 
@@ -7030,7 +7339,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Fluoj"
 
@@ -7068,7 +7378,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 minusklaj literoj aŭ ciferoj, neniu interpunkcio aŭ spaco"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL de la hejmpaĝo aŭ blogo de la grupo aŭ temo"
 
 #: lib/groupeditform.php:168
@@ -7076,20 +7387,30 @@ msgid "Describe the group or topic"
 msgstr "Priskribo de grupo aŭ temo"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Priskribo de grupo aŭ temo, apenaŭ je %d literoj"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Priskribo de grupo aŭ temo, apenaŭ je %d literoj"
+msgstr[1] "Priskribo de grupo aŭ temo, apenaŭ je %d literoj"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Loko de la grupo, se iu ajn, ekzemple \"Urbo, Stato (aŭ Regiono), Lando\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Kromaj alnomoj por la grupo, apartigita per komo aŭ spaco, apenaŭ %d literoj"
+msgstr[1] ""
 "Kromaj alnomoj por la grupo, apartigita per komo aŭ spaco, apenaŭ %d literoj"
 
 #. TRANS: Menu item in the group navigation page.
@@ -7191,39 +7512,57 @@ msgstr "La paĝo estas ne havebla je la komunikil-tipo, kiun vi akceptas"
 msgid "Unsupported image file format."
 msgstr "Formato ne subtenata."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "La dosiero tro grandas. Dosiera grandlimo estas %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Parta alŝuto."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Sisteme eraris alŝuti dosieron."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Ne bildo aŭ dosiero difektita."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Perdiĝis nian dosieron."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Nekonata dosiertipo"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7472,7 +7811,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) ŝatis vian avizon"
@@ -7482,7 +7821,7 @@ msgstr "%s (@%s) ŝatis vian avizon"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7520,7 +7859,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7533,7 +7872,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) afiŝis avizon al vi"
@@ -7544,7 +7883,7 @@ msgstr "%s (@%s) afiŝis avizon al vi"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7626,7 +7965,7 @@ msgstr "Pardonon, tiu ne estas via alvena retpoŝtadreso."
 msgid "Sorry, no incoming email allowed."
 msgstr "Pardonon, neniu alvena mesaĝo permesiĝas."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Nesubtenata mesaĝo-tipo: %s"
@@ -7692,7 +8031,7 @@ msgstr "Malsukcesis decidi dosieran MIME-tipon."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7703,7 +8042,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" ne estas subtenata tipo ĉe tiu ĉi servilo."
@@ -7844,31 +8183,31 @@ msgstr "Refoja avizo."
 msgid "Couldn't insert new subscription."
 msgstr "Eraris enmeti novan abonon."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Persona"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respondoj"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Ŝatolisto"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Alvenkesto"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Viaj alvenaj mesaĝoj"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Elirkesto"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Viaj senditaj mesaĝoj"
 
@@ -7900,7 +8239,7 @@ msgstr "Ĉiuj abonantoj"
 
 #: lib/profileaction.php:191
 msgid "User ID"
-msgstr "Uzanta ID"
+msgstr "ID de uzanto"
 
 #: lib/profileaction.php:196
 msgid "Member since"
@@ -7976,16 +8315,17 @@ msgid "Sandbox this user"
 msgstr "Provejigi la uzanton"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Serĉi ĉe retejo"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Serĉvorto(j)"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8066,6 +8406,12 @@ msgstr ""
 msgid "None"
 msgstr "Nenio"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nevalida dosiernomo."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "Ĉi tiu servilo ne povas disponi desegnan alŝuton sen ZIP-a subteno."
@@ -8075,8 +8421,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "La desegna dosiero mankas aŭ malsukcesis alŝuti."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Malsukcesis konservi desegnon."
 
@@ -8085,15 +8431,20 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Nevalida desegno: fuŝa dosieruja sturkturo."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr "Alŝutata desegno tro grandas; ĝi estu apenaŭ %d bitoj sen densigado."
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Alŝutata desegno tro grandas; ĝi estu apenaŭ %d bitoj sen densigado."
+msgstr[1] ""
+"Alŝutata desegno tro grandas; ĝi estu apenaŭ %d bitoj sen densigado."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Nevalida desegna arkivo: mankas dosiero css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8101,16 +8452,16 @@ msgstr ""
 "Desegno enhavas nevalidan dosieran aŭ dosierujan nomon. Uzu nur ASCII-"
 "literaron, ciferojn, substrekon kaj minussignon."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Desegno enhavas malsekuran dosiersufikson; eble malsukuras."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Desegno enhavas dosieron de tipo \".%s\", kiu malpermesiĝas."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Eraris malfermi desegnan arkivon."
 
@@ -8118,6 +8469,13 @@ msgstr "Eraris malfermi desegnan arkivon."
 msgid "Top posters"
 msgstr "Pintaj afiŝantoj"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Malbloki"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Malprovejigi"
@@ -8284,17 +8642,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
 msgstr[1] "Mesaĝo tro longas - longlimo estas %1$d, via estas %2$d"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Neniu uzanto-ID specifiĝas."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index b9de34799f22f7ae6c0947a4023f51060944bd65..43affca45f415ddbbfa2ec321a91fb89624cfa74 100644 (file)
@@ -16,17 +16,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:56+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:13+0000\n"
 "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: es\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -83,15 +83,22 @@ msgstr "Guardar la configuración de acceso"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Guardar"
@@ -122,6 +129,7 @@ msgstr "No existe tal página."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -134,14 +142,14 @@ msgstr "No existe tal página."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "No existe ese usuario."
@@ -158,7 +166,7 @@ msgstr "%1$s y sus amistades, página %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s y sus amistades"
@@ -214,7 +222,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -314,11 +324,12 @@ msgstr "No se pudo actualizar el usuario."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -331,11 +342,13 @@ msgstr "No se pudo guardar el perfil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -509,9 +522,11 @@ msgstr "No se pudo determinar el usuario fuente."
 msgid "Could not find target user."
 msgstr "No se pudo encontrar ningún usuario de destino."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -519,35 +534,43 @@ msgstr ""
 "espacios."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "El usuario ya existe. Prueba con otro."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Usuario inválido"
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "La página de inicio no es un URL válido."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -556,10 +579,14 @@ msgstr "Tu nombre es demasiado largo (max. 255 carac.)"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -567,9 +594,11 @@ msgstr[0] "La descripción es demasiado larga (máx. %d caracteres)."
 msgstr[1] "La descripción es demasiado larga (máx. %d caracteres)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -577,7 +606,12 @@ msgstr "La ubicación es demasiado larga (máx. 255 caracteres)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -593,15 +627,19 @@ msgstr "Alias inválido: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "El alias \"%s\" ya está en uso. Intenta usar otro."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "El alias no puede ser el mismo que el usuario."
 
@@ -707,21 +745,21 @@ msgid "Request token already authorized."
 msgstr "No estás autorizado."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Hubo un problema con tu clave de sesión.  Por favor, intenta nuevamente."
@@ -738,17 +776,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Error de base de datos al insertar usuario de la aplicación OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Envío de formulario inesperado."
 
@@ -798,9 +838,10 @@ msgstr "Cuenta"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -894,20 +935,21 @@ msgstr "No puedes borrar el estado de otro usuario."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "No existe ese mensaje."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "No puedes repetir tus propios mensajes"
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Este mensaje ya se ha repetido."
 
@@ -928,7 +970,8 @@ msgstr "El cliente debe proveer un parámetro de 'status' con un valor."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -943,7 +986,7 @@ msgstr "Método de API no encontrado."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1050,104 +1093,139 @@ msgstr "Método API en construcción."
 msgid "User not found."
 msgstr "Método de API no encontrado."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "No existe tal archivo adjunto."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Ningún nombre de usuario."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Ningún tamaño."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Tamaño inválido."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Imagen"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Puedes subir tu imagen personal. El tamaño máximo de archivo es %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Usuario sin perfil coincidente."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configuración de imagen"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Vista previa"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Borrar"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Subir"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Cortar"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Ningún archivo fue subido."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Elige un área cuadrada para que sea tu imagen"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Se perdió nuestros datos de archivo."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Imagen actualizada"
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Error al actualizar la imagen."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Imagen borrada."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Ya has bloqueado a este usuario."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquear usuario."
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1163,8 +1241,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1172,7 +1250,7 @@ msgstr "No"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "No bloquear a este usuario"
 
@@ -1182,8 +1260,8 @@ msgstr "No bloquear a este usuario"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1191,141 +1269,171 @@ msgstr "Sí"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloquear este usuario."
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "No se guardó información de bloqueo."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "No existe ese grupo."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s perfiles bloqueados"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s perfiles bloqueados, página %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr ""
 "Una lista de los usuarios que han sido bloqueados para unirse a este grupo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Desbloquear usuario de grupo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloquear"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Desbloquear este usuario"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Postear a %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Ningún código de confirmación."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Código de confirmación no encontrado."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "¡Ese código de confirmación no es para ti!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo de dirección %s desconocida."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Esa dirección ya fue confirmada."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "No se pudo actualizar el usuario."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "No se pudo eliminar la confirmación de correo electrónico."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "No se pudo eliminar la confirmación de mensajería instantánea."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmar la dirección"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "La dirección \"%s\" fue confirmada para tu cuenta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversación"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Mensajes"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Debes estar registrado para borrar una aplicación."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplicación no encontrada."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "No eres el propietario de esta aplicación."
@@ -1333,15 +1441,18 @@ msgstr "No eres el propietario de esta aplicación."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Hubo problemas con tu clave de sesión."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Eliminar la aplicación"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1352,12 +1463,12 @@ msgstr ""
 "conexiones de usuario existente."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "No eliminar esta aplicación"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Borrar esta aplicación"
 
@@ -1393,13 +1504,14 @@ msgstr "No se pudo actualizar el grupo."
 msgid "Deleted group %s"
 msgstr "%1$s ha dejado el grupo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Borrar usuario"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1422,22 +1534,27 @@ msgstr "No eliminar este mensaje"
 msgid "Delete this group"
 msgstr "Borrar este usuario"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "No conectado."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "No se puede eliminar este mensaje."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1445,21 +1562,24 @@ msgstr ""
 "Estás a punto de eliminar un mensaje permanentemente. Una vez hecho esto, no "
 "lo puedes deshacer."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Borrar mensaje"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "¿Estás seguro de que quieres eliminar este aviso?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "No eliminar este mensaje"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Borrar este mensaje"
 
@@ -1545,12 +1665,14 @@ msgstr "Personalizar tema"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Puedes subir un tema personalizado StatusNet como un archivo .ZIP."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Cambiar la imagen de fondo"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fondo"
 
@@ -1564,40 +1686,48 @@ msgstr ""
 "es %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Activar"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Desactivar"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Activar o desactivar la imagen de fondo."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Imagen de fondo en mosaico"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Cambiar colores"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Contenido"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra lateral"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Vínculos"
 
@@ -1609,29 +1739,31 @@ msgstr "Avanzado"
 msgid "Custom CSS"
 msgstr "Personalizar CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Utilizar los valores predeterminados"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaurar los diseños predeterminados"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Volver a los valores predeterminados"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Guardar"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Guardar el diseño"
 
@@ -1675,9 +1807,9 @@ msgid "Name is required."
 msgstr "Se requiere un nombre"
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "El nombre es muy largo (máx. 255 carac.)"
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1706,7 +1838,7 @@ msgid "Organization is required."
 msgstr "Se requiere una organización."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "El texto de organización es muy largo (máx. 255 caracteres)."
@@ -1730,49 +1862,49 @@ msgstr "El URL de devolución de llamada es inválido."
 msgid "Could not update application."
 msgstr "No fue posible actualizar la aplicación."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Editar grupo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Debes estar conectado para crear un grupo"
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Para editar el grupo debes ser administrador."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Usa este formulario para editar el grupo."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "La descripción es demasiado larga (máx. %d caracteres)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "¡Muchos seudónimos! El máximo es %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Alias inválido: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "No se pudo actualizar el grupo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "No fue posible crear alias."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Se guardó Opciones."
 
@@ -1967,6 +2099,12 @@ msgstr "Ninguna confirmación pendiente para cancelar."
 msgid "That is the wrong email address."
 msgstr "Esa es la dirección de correo electrónico incorrecta."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "No se pudo eliminar la confirmación de correo electrónico."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2050,7 +2188,7 @@ msgstr ""
 "persona en añadir un mensaje a tus favoritos?"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Mensajes favoritos de %s"
@@ -2147,19 +2285,23 @@ msgstr "No puedes conceder funciones de usuario en este sitio."
 msgid "User already has this role."
 msgstr "El usuario ya tiene esta función."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "No se especificó perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "No existe perfil con ese ID"
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Grupo no especificado."
@@ -2227,8 +2369,10 @@ msgstr ""
 "Personaliza el aspecto de tu grupo con una imagen de fondo y la paleta de "
 "colores que prefieras."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "No fue posible actualizar tu diseño."
 
@@ -2248,6 +2392,14 @@ msgstr ""
 "Puedes subir una imagen de logo para tu grupo. El tamaño máximo del archivo "
 "debe ser %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Subir"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Cortar"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Elige un área cuadrada de la imagen para que sea tu logo."
@@ -2390,15 +2542,18 @@ msgstr ""
 "¿Por qué no [registras una cuenta](%%action.register%%) y [creas el grupo](%%"
 "action.newgroup%%) tú mismo?"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Sólo un administrador puede desbloquear miembros de grupos."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "El usuario no está bloqueado del grupo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Se ha producido un error al eliminar el bloque."
 
@@ -2488,7 +2643,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar un MicroID para mi cuenta Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferencias guardadas."
 
@@ -2613,10 +2768,9 @@ msgstr[1] "Ya estás suscrito a estos usuarios:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2800,8 +2954,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Texto de bienvenida inválido. La longitud máx. es de 255 caracteres."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2976,28 +3131,20 @@ msgstr "Debes conectarte para registrar una aplicación."
 msgid "Use this form to register a new application."
 msgstr "Utiliza este formulario para registrar una nueva aplicación."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "El nombre es muy largo (máx. 255 carac.)"
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Se requiere el URL fuente."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "El texto de organización es muy largo (máx. 255 caracteres)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "No se pudo crear la aplicación."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Grupo nuevo "
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Usa este formulario para crear un grupo nuevo."
@@ -3007,14 +3154,14 @@ msgid "New message"
 msgstr "Nuevo Mensaje "
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "No puedes enviar mensaje a este usuario."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "¡Ningún contenido!"
 
@@ -3023,7 +3170,7 @@ msgid "No recipient specified."
 msgstr "No se especificó receptor."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "No te auto envíes un mensaje; dícetelo a ti mismo."
@@ -3034,12 +3181,12 @@ msgstr "Mensaje enviado"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Se ha enviado un mensaje directo a %s."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Error de Ajax"
 
@@ -3047,18 +3194,7 @@ msgstr "Error de Ajax"
 msgid "New notice"
 msgstr "Nuevo mensaje"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "El mensaje es muy largo. El tamaño máximo es de %d caracteres."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"El tamaño máximo del mensaje es %d caracteres, incluyendo el URL adjunto."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Mensaje publicado"
 
@@ -3198,25 +3334,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Mensaje sin perfil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "estado de %1$s en %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Tipo de contenido %s no compatible."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Solamente %s URL sobre HTTP simples, por favor."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "No es un formato de datos compatible."
@@ -3229,36 +3365,46 @@ msgstr "Búsqueda de gente"
 msgid "Notice Search"
 msgstr "Búsqueda de mensajes"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Otros ajustes"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Manejo de varias opciones adicionales."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr "  (servicio gratuito)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Acortar los URL con"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Servicio de acorte automático a usar."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Ver diseños de perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Ocultar o mostrar diseños de perfil."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "El servicio de acortamiento de URL es muy largo (máx. 50 caracteres)."
 
 #: actions/otp.php:69
@@ -3705,8 +3851,9 @@ msgstr ""
 "1-64 letras en minúscula o números, sin signos de puntuación o espacios"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nombre completo"
@@ -3746,9 +3893,10 @@ msgid "Bio"
 msgstr "Biografía"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Ubicación"
@@ -4097,7 +4245,8 @@ msgid "Unexpected password reset."
 msgstr "Restablecimiento de contraseña inesperado."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "La contraseña debe tener 6 o más caracteres."
 
 #: actions/recoverpassword.php:369
@@ -4344,7 +4493,7 @@ msgid "Repeated!"
 msgstr "¡Repetido!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respuestas a %s"
@@ -4477,11 +4626,12 @@ msgstr "Organización"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Descripción"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Estadísticas"
@@ -4499,6 +4649,11 @@ msgstr "Acciones de la aplicación"
 msgid "Reset key & secret"
 msgstr "Reiniciar clave y secreto"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Borrar"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Información de la aplicación"
@@ -4591,77 +4746,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Esta es una manera de compartir lo que te gusta."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "grupo %1$s, página %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Perfil del grupo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Nota"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Alias"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Acciones del grupo"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Canal de mensajes del grupo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Canal de mensajes del grupo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Canal de mensajes del grupo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Amistades de amistades del grupo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Miembros"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Ninguno)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Todos los miembros"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Creado"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Miembros"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4677,7 +4861,10 @@ msgstr ""
 "action.register%%%%) para formar parte de este y muchos más grupos! ([Más "
 "información](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4690,24 +4877,31 @@ msgstr ""
 "herramienta de software libre [StatusNet](http://status.net/). Sus miembros "
 "comparten mensajes cortos acerca de su vida e intereses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administradores"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "No existe el mensaje."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Sólo el remitente y el receptor pueden leer este mensaje."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensaje a %1$s en %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensaje de %1$s en %2$s"
@@ -4716,47 +4910,67 @@ msgstr "Mensaje de %1$s en %2$s"
 msgid "Notice deleted."
 msgstr "Mensaje borrado"
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "%s etiquetados"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, página %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Mensajes etiquetados con %1$s, página %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, página %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Canal de avisos de %1$s etiquetados %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Canal de mensajes para %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Canal de mensajes para %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Canal de mensajes para %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "Amistades de amistades de %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Esta es la línea temporal de %1$s, pero %2$s aún no ha publicado nada."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4764,7 +4978,9 @@ msgstr ""
 "¿Has visto algo interesante recientemente? Aún no has hecho ninguna "
 "publicación, así que este puede ser un buen momento para empezar :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4773,7 +4989,9 @@ msgstr ""
 "Puedes intentar darle un toque a %1$s o [publicar algo a su atención](%%%%"
 "action.newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4787,7 +5005,9 @@ msgstr ""
 "register%%%%) para seguir los avisos de **%s** y de muchas personas más! "
 "([Más información](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4798,7 +5018,8 @@ msgstr ""
 "(http://en.wikipedia.org/wiki/Micro-blogging), basado en la herramienta de "
 "software libre [StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetición de %s"
@@ -4910,35 +5131,44 @@ msgstr "Límite de duplicados"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr "Cuántos segundos es necesario esperar para publicar lo mismo de nuevo."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Aviso del mensaje"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Editar el mensaje que va a lo ancho del sitio"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "No se pudo guarda el aviso del sitio."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 "La longitud máxima para el aviso que va a lo ancho del sitio es de 255 "
 "caracteres."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto del mensaje del sitio"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 "Texto del mensaje que va a lo ancho del sitio (máximo 255 caracteres; se "
 "acepta HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Guardar el mensaje del sitio"
 
@@ -5156,12 +5386,14 @@ msgstr "Las capturas se enviarán a este URL"
 msgid "Save snapshot settings"
 msgstr "Guardar la configuración de instantáneas"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "No te has suscrito a ese perfil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "No se ha podido guardar la suscripción."
 
@@ -5405,75 +5637,93 @@ msgstr ""
 "sitio ‘%2$s’."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Usuario"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Límite para la bio inválido: Debe ser numérico."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Texto de bienvenida inválido. La longitud máx. es de 255 caracteres."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Suscripción predeterminada inválida : '%1$s' no es un usuario"
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Límite de la bio"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Longitud máxima de bio de perfil en caracteres."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nuevos usuarios"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Bienvenida a nuevos usuarios"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Texto de bienvenida para nuevos usuarios (máx. 255 caracteres)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Suscripción predeterminada"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Suscribir automáticamente nuevos usuarios a este usuario."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitaciones"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Invitaciones habilitadas"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Si permitir a los usuarios invitar nuevos usuarios."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5581,11 +5831,13 @@ msgstr "No se puede leer la URL de la imagen ‘%s’."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagen incorrecto para la URL de imagen ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Diseño del perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5684,7 +5936,7 @@ msgid "Plugins"
 msgstr "Complementos"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versión"
 
@@ -5717,32 +5969,46 @@ msgstr " Robin piensa que algo es imposible."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Ningún archivopuede ser de tamaño mayor a %1$d bytes y el archivo que "
+"enviaste es de %2$d bytes. Trata de subir una versión más pequeña."
+msgstr[1] ""
 "Ningún archivopuede ser de tamaño mayor a %1$d bytes y el archivo que "
 "enviaste es de %2$d bytes. Trata de subir una versión más pequeña."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Un archivo tan grande podría sobrepasar tu cuota de usuario de %d bytes."
+msgstr[1] ""
 "Un archivo tan grande podría sobrepasar tu cuota de usuario de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Un archivo tan grande podría sobrepasar tu cuota mensual de %d bytes."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Un archivo tan grande podría sobrepasar tu cuota mensual de %d bytes."
+msgstr[1] ""
+"Un archivo tan grande podría sobrepasar tu cuota mensual de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nombre de archivo inválido."
 
@@ -5871,39 +6137,47 @@ msgid "Problem saving notice."
 msgstr "Hubo un problema al guardar el mensaje."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Mal tipo proveído a saveKnownGroups"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Hubo un problema al guarda la bandeja de entrada del grupo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "No se ha podido guardar la información del grupo local."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "No se puede revocar rol \"%1$s\" para usuario #%2$d; no existe."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5975,32 +6249,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Bienvenido a %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Ningún usuario sólo definido para modo monousuario."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "No se pudo crear grupo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "No se pudo configurar el URI del grupo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "No se pudo configurar la membresía del grupo."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "No se ha podido guardar la información del grupo local."
 
@@ -6050,194 +6324,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Página sin título"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navegación de sitio primario"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Perfil personal y línea temporal de amistades"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Cambia tu correo electrónico, imagen, contraseña, perfil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Cuenta"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Conectar a los servicios"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Conectarse"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Cambiar la configuración del sitio"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Admin"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invita a amistades y compañeros a unirse a tí en %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Invitar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Cerrar sesión en el sitio"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Cerrar sesión"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Crear una cuenta"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrarse"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Iniciar sesión en el sitio"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Inicio de sesión"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "¡Ayúdame!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ayuda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Buscar personas o texto"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Buscar"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Mensaje de sitio"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Vistas locales"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Mensaje de página"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navegación de sitio secundario"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Ayuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Acerca de"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Preguntas Frecuentes"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "TOS"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacidad"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Fuente"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Ponerse en contacto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Insignia"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licencia de software de StatusNet"
 
@@ -6245,7 +6526,7 @@ msgstr "Licencia de software de StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6255,7 +6536,7 @@ msgstr ""
 "[%%site.broughtby%%**](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** es un servicio de microblogueo."
@@ -6264,7 +6545,7 @@ msgstr "**%%site.name%%** es un servicio de microblogueo."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6276,27 +6557,27 @@ msgstr ""
 "licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licencia de contenido del sitio"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "El contenido y datos de %1$s son privados y confidenciales."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 "Copyright del contenido y los datos de%1$s. Todos los derechos reservados."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Derechos de autor de contenido y datos por los colaboradores. Todos los "
@@ -6304,7 +6585,7 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
@@ -6312,19 +6593,19 @@ msgstr ""
 "$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginación"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Después"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Antes"
 
@@ -6405,7 +6686,7 @@ msgid "User configuration"
 msgstr "Configuración de usuario"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Usuario"
 
@@ -6672,7 +6953,7 @@ msgid "AJAX error"
 msgstr "Error de Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Comando completo"
 
@@ -6688,7 +6969,7 @@ msgstr "No existe ningún mensaje con ese ID."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "El/La usuario/a no tiene ningún último mensaje"
 
@@ -6758,6 +7039,14 @@ msgstr "%1$s se unió al grupo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s dejo el grupo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6797,113 +7086,119 @@ msgstr ""
 "%s es un perfil remoto: sólo puedes enviarle mensajes directos a usuarios en "
 "el mismo servidor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
+msgstr[1] "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Error al enviar mensaje directo."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Se ha repetido el mensaje de %s."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Ha habido un error al repetir el mensaje."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensaje demasiado largo - el máximo es de 140 caracteres, enviaste %d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Mensaje demasiado largo - el máximo es de 140 caracteres, enviaste %d."
+msgstr[1] ""
+"Mensaje demasiado largo - el máximo es de 140 caracteres, enviaste %d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Se ha enviado la respuesta a %s."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Error al guardar el mensaje."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Especificar el nombre del usuario al cual se quiere suscribir."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "No te puedes suscribir a perfiles de OMB por orden."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Suscrito a %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Especifica el nombre del usuario del cual cancelar la suscripción."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Cancelada la suscripción a %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Todavía no se implementa comando."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notificación no activa."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "No se puede desactivar notificación."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notificación activada."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "No se puede activar notificación."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "El comando de inicio de sesión está inhabilitado."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6912,20 +7207,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Cancelada la suscripción a %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "No estás suscrito a nadie."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Ya estás suscrito a estos usuarios:"
@@ -6933,14 +7228,14 @@ msgstr[1] "Ya estás suscrito a estos usuarios:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Nadie está suscrito a ti."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "No se pudo suscribir otro a ti."
@@ -6948,21 +7243,21 @@ msgstr[1] "No se pudo suscribir otro a ti."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "No eres miembro de ningún grupo"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Eres miembro de este grupo:"
 msgstr[1] "Eres miembro de estos grupos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7106,10 +7401,13 @@ msgstr "Aplicaciones conectadas autorizadas"
 msgid "Database error"
 msgstr "Error de la base de datos"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Subir archivo"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7117,16 +7415,29 @@ msgstr ""
 "Puedes subir tu imagen de fondo personal. El tamaño de archivo máximo "
 "permitido es 2 MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"El servidor no ha podido manejar tanta información del tipo POST (% de "
-"bytes) a causa de su configuración actual."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Activar"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Desactivar"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Restablecer"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Diseño predeterminado restaurado."
 
@@ -7154,7 +7465,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Amistad de amistad"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7193,7 +7505,8 @@ msgstr ""
 "1-64 letras en minúscula o números, sin signos de puntuación o espacios"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL de página de inicio o blog del grupo o tema"
 
 #: lib/groupeditform.php:168
@@ -7201,21 +7514,31 @@ msgid "Describe the group or topic"
 msgstr "Describir al grupo o tema"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Describir al grupo o tema en %d caracteres"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Describir al grupo o tema en %d caracteres"
+msgstr[1] "Describir al grupo o tema en %d caracteres"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Ubicación del grupo, si existe, por ejemplo \"Ciudad, Estado (o Región), País"
 "\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Nombres adicionales para el grupo, separados por comas o espacios. Máximo: %d"
+msgstr[1] ""
 "Nombres adicionales para el grupo, separados por comas o espacios. Máximo: %d"
 
 #. TRANS: Menu item in the group navigation page.
@@ -7316,39 +7639,57 @@ msgstr "Esta página no está disponible en el tipo de medio que aceptas."
 msgid "Unsupported image file format."
 msgstr "Formato de imagen no soportado."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "El archivo es muy grande. El tamaño máximo permitido es %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Subida parcial"
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Error del sistema subir el archivo"
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "No es una imagen o es un fichero corrupto."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Se perdió nuestro archivo."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Tipo de archivo desconocido"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7601,7 +7942,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) agregó tu mensaje a los favoritos"
@@ -7611,7 +7952,7 @@ msgstr "%s (@%s) agregó tu mensaje a los favoritos"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7649,7 +7990,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7662,7 +8003,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) ha enviado un aviso a tu atención"
@@ -7673,7 +8014,7 @@ msgstr "%s (@%s) ha enviado un aviso a tu atención"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7756,7 +8097,7 @@ msgstr "Lo sentimos, pero este no es su dirección de correo entrante."
 msgid "Sorry, no incoming email allowed."
 msgstr "Lo sentimos, pero no se permite correos entrantes"
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipo de mensaje no compatible: %s"
@@ -7823,7 +8164,7 @@ msgstr "No se pudo determinar tipo MIME del archivo"
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7834,7 +8175,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" no es un tipo de archivo compatible en este servidor."
@@ -7975,31 +8316,31 @@ msgstr "Mensaje duplicado."
 msgid "Couldn't insert new subscription."
 msgstr "No se pudo insertar una nueva suscripción."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respuestas"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoritos"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Bandeja de Entrada"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Mensajes entrantes"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Bandeja de Salida"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Mensajes enviados"
 
@@ -8106,16 +8447,17 @@ msgid "Sandbox this user"
 msgstr "Imponer restricciones a este usuario"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Buscar sitio"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Palabra(s) clave"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8196,6 +8538,12 @@ msgstr "Nube de etiquetas de personas etiquetadas"
 msgid "None"
 msgstr "Ninguno"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nombre de archivo inválido."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "Este servidor no puede manejar cargas de temas sin soporte ZIP."
@@ -8205,8 +8553,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "El archivo de tema está perdido o la carga falló."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Grabado de tema errado."
 
@@ -8215,16 +8563,20 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Tema inválido: mala estructura de directorio."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Tema subido es demasiado grande; debe ser menor que %d bytes sin comprimir."
+msgstr[1] ""
 "Tema subido es demasiado grande; debe ser menor que %d bytes sin comprimir."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Archivo de tema inválido: archivo perdido css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8232,18 +8584,18 @@ msgstr ""
 "El tema contiene archivo o nombre de carpeta inválido. Restrínjase a letras "
 "ASCII, dígitos, carácter de subrayado, y signo menos."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "El tema contiene nombres de extensiones de archivo inseguras y puede ser "
 "peligroso."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "El tema contiene archivo de tipo '.%s', que no está permitido."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Error al abrir archivo de tema."
 
@@ -8251,6 +8603,13 @@ msgstr "Error al abrir archivo de tema."
 msgid "Top posters"
 msgstr "Principales posteadores"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloquear"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Eliminar restricciones"
@@ -8417,17 +8776,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
 msgstr[1] "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "No se ha especificado ID de usuario."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 42b056bf7c7853599858a66137b3d51f35017469..22d8cd6f48d910968c3a5804b80bcbc8201b4fff 100644 (file)
@@ -13,8 +13,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:57+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:14+0000\n"
 "Last-Translator: Ahmad Sufi Mahmudi\n"
 "Language-Team: Persian <http://translatewiki.net/wiki/Portal:fa>\n"
 "MIME-Version: 1.0\n"
@@ -23,9 +23,9 @@ msgstr ""
 "X-Language-Code: fa\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -82,15 +82,22 @@ msgstr "ذخیرهٔ تنظیمات دسترسی"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "ذخیره"
@@ -121,6 +128,7 @@ msgstr "چنین صفحه‌ای وجود ندارد."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -133,14 +141,14 @@ msgstr "چنین صفحه‌ای وجود ندارد."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "چنین کاربری وجود ندارد."
@@ -157,7 +165,7 @@ msgstr "%1$s و دوستان، صفحهٔ %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s و دوستان"
@@ -211,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -310,11 +320,12 @@ msgstr "نمی‌توان کاربر را به‌هنگام‌سازی کرد."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -327,11 +338,13 @@ msgstr "نمی‌توان نمایه را ذخیره کرد."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -501,43 +514,53 @@ msgstr "نمی‌توان کاربر منبع را تعیین کرد."
 msgid "Could not find target user."
 msgstr "نمی‌توان کاربر هدف را پیدا کرد."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "لقب باید شامل حروف کوچک و اعداد و بدون فاصله باشد."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "این لقب در حال حاضر ثبت شده است. لطفا یکی دیگر انتخاب کنید."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "لقب نا معتبر."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "صفحهٔ خانگی یک نشانی معتبر نیست."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -546,19 +569,25 @@ msgstr "نام کامل خیلی طولانی است (حداکثر ۲۵۵ نوی
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "توصیف خیلی طولانی است (حداکثر %d نویسه)"
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -566,7 +595,12 @@ msgstr "نام مکان خیلی طولانی است (حداکثر ۲۵۵ نوی
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -581,15 +615,19 @@ msgstr "نام مستعار نامعتبر است: «%s»."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "نام‌مستعار «%s» ازپیش گرفته‌شده‌است. یکی دیگر را امتحان کنید."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "نام و نام مستعار شما نمی تواند یکی باشد ."
 
@@ -695,21 +733,21 @@ msgid "Request token already authorized."
 msgstr "شما شناسایی نشده اید."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "مشکلی در دریافت نشست شما وجود دارد. لطفا بعدا سعی کنید."
 
@@ -725,17 +763,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "هنگام افزودن کاربر برنامهٔ OAuth در پایگاه داده خطایی رخ داد."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "ارسال غیر قابل انتظار فرم."
 
@@ -787,9 +827,10 @@ msgstr "حساب کاربری"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -883,20 +924,21 @@ msgstr "شما توانایی حذف وضعیت کاربر دیگری را ند
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "چنین پیامی وجود ندارد."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "نمی توانید پیام خود را تکرار کنید."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "قبلا آن پیام تکرار شده است."
 
@@ -917,7 +959,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -931,7 +974,7 @@ msgstr "رابط مورد نظر پیدا نشد."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1036,106 +1079,141 @@ msgstr "روش API در دست ساخت."
 msgid "User not found."
 msgstr "رابط مورد نظر پیدا نشد."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "چنین پیوستی وجود ندارد."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "لقبی وجود ندارد."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "بدون اندازه."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "اندازه نادرست است."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "چهره"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "شما می‌توانید چهرهٔ شخصی خود را بارگذاری کنید. حداکثر اندازه پرونده %s است."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "کاربر نمایهٔ تطبیق ندارد."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "تنظیمات چهره"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "اصلی"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "پیش‌نمایش"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "حذف"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "پایین‌گذاری"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "برش"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "هیچ پرونده‌ای بارگذاری نشد."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 "یک مربع از عکس خود را انتخاب کنید تا به عنوان تصویر چهرهٔ شما انتخاب شود."
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "فایل اطلاعات خود را گم کرده ایم."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "چهره به روز رسانی شد."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "به روز رسانی چهره موفقیت آمیر نبود."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "چهره پاک شد."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "شما هم اکنون آن کاربر را مسدود کرده اید."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "مسدود کردن کاربر"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1152,8 +1230,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1161,7 +1239,7 @@ msgstr "خیر"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "کاربر را مسدود نکن"
 
@@ -1171,8 +1249,8 @@ msgstr "کاربر را مسدود نکن"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1180,140 +1258,170 @@ msgstr "بله"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "کاربر را مسدود کن"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "ذخیرهٔ ردیف اطلاعات شکست خورد."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "چنین گروهی وجود ندارد."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s نمایه‌های مسدود شده"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s نمایه‌های مسدود شده، صفحهٔ %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "فهرستی از افراد مسدود شده در پیوستن به این گروه."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "آزاد کردن کاربر در پیوستن به گروه"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "آزاد سازی"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "آزاد سازی کاربر"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "فرستادن به %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "بدون کد تصدیق."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "کد تصدیق پیدا نشد."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "آن کد تصدیق برای شما نیست!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "نوع نشانی نامشخص است %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "آن نشانی در حال حاضر تصدیق شده است."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "نمی‌توان کاربر را به روز کرد."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Ù\86Ù\85Û\8câ\80\8cتÙ\88اÙ\86 ØªØµØ¯Û\8cÙ\82 Ù¾Ø³Øª Ø§Ù\84کترÙ\88Ù\86Û\8cÚ© را پاک کرد."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Ù\86Ù\85Û\8câ\80\8cتÙ\88اÙ\86 ØªØ§Û\8cÛ\8cد Ù¾Û\8cاÙ\85â\80\8cرساÙ\86 Ù\81Ù\88رÛ\8c را پاک کرد."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "تایید نشانی"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "نشانی «%s« برای شما تصدیق شد."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "مکالمه"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "پیام‌ها"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "برای پاک‌کردن یک برنامه باید وارد شده باشید."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "برنامه یافت نشد."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "شما مالک این برنامه نیستید."
@@ -1321,15 +1429,18 @@ msgstr "شما مالک این برنامه نیستید."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "یک مشکل با رمز نشست شما وجود داشت."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "حذف برنامه"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1340,12 +1451,12 @@ msgstr ""
 "می‌شود."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "این برنامه حذف نشود"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "این برنامه حذف شود"
 
@@ -1381,13 +1492,14 @@ msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
 msgid "Deleted group %s"
 msgstr "%1$s گروه %2$s را ترک کرد"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "حذف کاربر"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1410,22 +1522,27 @@ msgstr "این پیام را پاک نکن"
 msgid "Delete this group"
 msgstr "حذف این کاربر"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "شما به سیستم وارد نشده اید."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "نمی‌توان این پیام را پاک کرد."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1433,21 +1550,24 @@ msgstr ""
 "شما می‌خواهید یک پیام را به طور کامل پاک کنید. پس از انجام این کار نمی‌توان "
 "پیام را بازگرداند."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "پیام را پاک کن"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "آیا اطمینان دارید که می‌خواهید این پیام را پاک کنید؟"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "این پیام را پاک نکن"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "این پیام را پاک کن"
 
@@ -1535,12 +1655,14 @@ msgstr ""
 "شما می‌توانید یک پوستهٔ اختصاصی StatusNet را به‌عنوان یک آرشیو .ZIP بارگذاری "
 "کنید."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "تغییر تصویر پیش‌زمینه"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "پیش‌زمینه"
 
@@ -1554,40 +1676,48 @@ msgstr ""
 "پرونده %1 $s است."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "روشن"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "خاموش"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "تصویر پیش‌زمینه را فعال یا غیرفعال کنید."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "تصویر پیش‌زمینهٔ موزاییکی"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "تغییر رنگ‌ها"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "محتوا"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "ستون کناری"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "متن"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "پیوندها"
 
@@ -1599,29 +1729,31 @@ msgstr "پیشرفته"
 msgid "Custom CSS"
 msgstr "CSS اختصاصی"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "استفاده‌کردن از پیش‌فرض‌ها"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "بازگرداندن طرح‌های پیش‌فرض"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "برگشت به حالت پیش گزیده"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "ذخیره‌کردن"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "ذخیره‌کردن طرح"
 
@@ -1665,9 +1797,9 @@ msgid "Name is required."
 msgstr "نام مورد نیاز است."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "نام خیلی طولانی است (حداکثر ۲۵۵ نویسه)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1696,7 +1828,7 @@ msgid "Organization is required."
 msgstr "سازمانی‌دهی مورد نیاز است."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "نام سازمان خیلی طولانی است (حداکثر ۲۵۵ نویسه)."
@@ -1722,49 +1854,49 @@ msgstr "نشانی اینترنتی منبع معتبر نیست."
 msgid "Could not update application."
 msgstr "نمی‌توان برنامه را به‌هنگام‌سازی کرد."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "ویرایش گروه %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "برای ساخت یک گروه، باید وارد شده باشید."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "برای ویرایش گروه باید یک مدیر باشید."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "از این روش برای ویرایش گروه استفاده کنید."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "توصیف خیلی طولانی است (حداکثر %d نویسه)"
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "نام‌های مستعار بسیار زیاد هستند! حداکثر %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "نام‌مستعار غیر مجاز: «%s»"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "نمی‌توان نام‌های مستعار را ساخت."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "گزینه‌ها ذخیره شدند."
 
@@ -1958,6 +2090,12 @@ msgstr "هیچ تاییدی برای فسخ کردن وجود ندارد."
 msgid "That is the wrong email address."
 msgstr "این نشانی پست الکترونیکی نادرست است."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "نمی‌توان تصدیق پست الکترونیک را پاک کرد."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2041,7 +2179,7 @@ msgstr ""
 "باشید که یک پیام را به برگزیده‌هایش اضافه می‌کند!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "پیام‌های برگزیدهٔ %s"
@@ -2138,19 +2276,23 @@ msgstr "شما نمی‌توانید در این وب‌گاه نقش‌های 
 msgid "User already has this role."
 msgstr "کاربر از قبل این وظیفه را داشته است."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "نمایه‌ای مشخص نشده است."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "کاربری با چنین شناسه‌ای وجود ندارد."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "گروهی مشخص نشده است."
@@ -2214,8 +2356,10 @@ msgid ""
 "palette of your choice."
 msgstr "ظاهر گروه را تغییر دهید تا شما را راضی کند."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "نمی‌توان ظاهر را به روز کرد."
 
@@ -2233,6 +2377,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "شما می‌توانید یک نشان برای گروه خود با بیشینه حجم %s بفرستید."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "پایین‌گذاری"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "برش"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "یک ناحیه‌ی مربع از تصویر را انتخاب کنید تا به عنوان نشان انتخاب شود."
@@ -2375,15 +2527,18 @@ msgstr ""
 "چرا [ثبت نام](%%action.register%%) نمی‌کنید و گروه را خود [ایجاد](%%action."
 "newgroup%%) نمی‌کنید!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "تنها یک مدیر توانایی برداشتن منع کاربران گروه را دارد."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "کاربر از گروه منع نشده است."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "اشکال در پاکسازی"
 
@@ -2470,7 +2625,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "یک شناسهٔ کوچک برای Jabber/Gtalk من منتشر کن."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "تنظیمات ذخیره شد."
 
@@ -2592,10 +2747,9 @@ msgstr[0] "شما هم‌اکنون مشترک این کاربران هستید:
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2776,8 +2930,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "متن خوشامدگویی نامعتبر است. بیشینهٔ طول متن ۲۵۵ نویسه است."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2948,28 +3103,20 @@ msgstr "برای ثبت یک برنامه باید وارد شده باشید."
 msgid "Use this form to register a new application."
 msgstr "از این شیوه برای ساختن یک برنامهٔ تازه استفاده کنید."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "نام خیلی طولانی است (حداکثر ۲۵۵ نویسه)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "نشانی اینترنتی منبع مورد نیاز است."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "نام سازمان خیلی طولانی است (حداکثر ۲۵۵ نویسه)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "نمی‌توان برنامه را ساخت."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "گروه جدید"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "از این فرم برای ساختن یک گروه جدید استفاده کنید"
@@ -2979,14 +3126,14 @@ msgid "New message"
 msgstr "پیام جدید"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "شما نمی توانید به این کاربر پیام بفرستید."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "محتوایی وحود ندارد!"
 
@@ -2995,7 +3142,7 @@ msgid "No recipient specified."
 msgstr "هیچ گیرنده ای مشخص نشده"
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "یک پیام را به خودتان نفرستید؛ در عوض آن را آهسته برای خود بگویید."
@@ -3006,12 +3153,12 @@ msgstr "پیام فرستاده‌شد"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "پیام مستقیم به %s فرستاده شد."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "خطای آژاکس"
 
@@ -3019,17 +3166,7 @@ msgstr "خطای آژاکس"
 msgid "New notice"
 msgstr "پیام جدید"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "این خیلی طولانی است. بیشینهٔ طول پیام %d نویسه است."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "بیشینهٔ طول پیام %d نویسه که شامل نشانی اینترنتی پیوست هم هست."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "پیام فرستاده‌شد."
 
@@ -3167,25 +3304,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "این پیام نمایه‌ای ندارد."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "وضعیت %1$s در %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "نوع محتوای %s پشتیبانی نشده است."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "لطفا تنها از نشانی‌های اینترنتی %s از راه HTTP ساده استفاده کنید."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست."
@@ -3198,36 +3335,46 @@ msgstr "جست‌وجوی کاربران"
 msgid "Notice Search"
 msgstr "جست‌وجوی پیام‌ها"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "تنظیمات دیگر"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "مدیریت انتخاب های مختلف دیگر."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (سرویس‌ آزاد)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "کوتاه‌کردن نشانی‌های اینترنتی با"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "کوتاه‌کنندهٔ نشانی مورد استفاده."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "نمایش طراحی‌های نمایه"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "نمایش دادن یا پنهان کردن طراحی‌های نمایه."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "کوتاه کنندهٔ نشانی بسیار طولانی است (بیش‌تر از ۵۰ حرف)."
 
 #: actions/otp.php:69
@@ -3672,8 +3819,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "۱-۶۴ کاراکتر کوچک یا اعداد، بدون نقطه گذاری یا فاصله"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "نام‌کامل"
@@ -3712,9 +3860,10 @@ msgid "Bio"
 msgstr "شرح‌حال"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "موقعیت"
@@ -4051,7 +4200,8 @@ msgid "Unexpected password reset."
 msgstr "گذرواژه به طور غیر منتظره ریست شد."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "گذرواژه باید ۶ نویسه یا بیش‌تر باشد."
 
 #: actions/recoverpassword.php:369
@@ -4292,7 +4442,7 @@ msgid "Repeated!"
 msgstr "تکرار شد!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "پاسخ‌های به %s"
@@ -4426,11 +4576,12 @@ msgstr "سازمان"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "توصیف"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "آمار"
@@ -4448,6 +4599,11 @@ msgstr "اعمال برنامه"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "حذف"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "اطلاعات برنامه"
@@ -4540,77 +4696,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "این یک راه است برای به اشتراک گذاشتن آنچه که دوست دارید."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "گروه %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "گروه %1$s، صفحهٔ %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "نمایهٔ گروه"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "نشانی اینترنتی"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "یادداشت"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "نام های مستعار"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "اعمال گروه"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "خوراک پیام برای گروه %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "خوراک پیام برای گروه %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "خوراک پیام برای گروه %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF برای گروه %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "اعضا"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "هیچ"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "همهٔ اعضا"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "ساخته شد"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "اعضا"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4626,7 +4811,10 @@ msgstr ""
 "می‌گذارند. [اکنون بپیوندید ](%%%%action.register%%%%) تا یکی از اعضای این "
 "گروه و بلکه بیش‌تر بشوید! ([بیش‌تر بخوانید](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4640,24 +4828,31 @@ msgstr ""
 "است. کاربران آن پیام‌های کوتاهی را دربارهٔ زندگی و علاقه‌مندی‌هایشان به اشتراک "
 "می‌گذارند. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "مدیران"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "چنین پیغامی وجود ندارد."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "تنها فرستنده و گیرنده می‌توانند این پیام را بخوانند."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "پیام به %1$s در %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "پیام از %1$s در %2$s"
@@ -4666,47 +4861,67 @@ msgstr "پیام از %1$s در %2$s"
 msgid "Notice deleted."
 msgstr "پیام پاک شد."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " برچسب‌گذاری‌شده %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s، صفحهٔ %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "پیام‌های برچسب‌دار شده با %1$s، صفحهٔ %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s، صفحهٔ %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "خوراک پیام‌های %1$s دارای برچسب %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "خوراک پیام‌های %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "خوراک پیام‌های %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "خوراک پیام‌های %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF برای %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "این خط‌زمانی %1$s است، اما %2$s تاکنون چیزی نفرستاده است."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4714,7 +4929,9 @@ msgstr ""
 "اخیرا چیز جالب توجهی دیده‌اید؟ شما تاکنون پیامی نفرستاده‌اید، الان می‌تواند "
 "زمان خوبی برای شروع باشد :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4723,7 +4940,9 @@ msgstr ""
 "اولین کسی باشید که در [این موضوع](%%%%action.newnotice%%%%?status_textarea=%"
 "s) پیام می‌فرستد."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4737,7 +4956,9 @@ msgstr ""
 "،دارد. ]اکنون بپیوندید[(%%%%action.register%%%%) تا پیام‌های **%s** و بلکه "
 "بیش‌تر را دنبال کنید! (]بیش‌تر بخوانید[(%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4748,7 +4969,8 @@ msgstr ""
 "wikipedia.org/wiki/%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%A8%D9%84%D8%A7%DA%AF%DB%"
 "8C%D9%86%DA%AF) بر پایهٔ نرم‌افزار آزاد [StatusNet](http://status.net/) ،دارد. "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "تکرار %s"
@@ -4860,31 +5082,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "چه مدت کاربران باید منتظر بمانند (به ثانیه) تا همان چیز را دوباره بفرستند."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "پیام وب‌گاه"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "ویرایش پیام عمومی وب‌گاه"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "نمی‌توان پیام وب‌گاه را ذخیره کرد."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "بیشینهٔ طول برای پیام عمومی وب‌گاه ۲۵۵ نویسه است."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "متن پیام وب‌گاه"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "متن پیام عمومی وب‌گاه (حداکثر ۲۵۵ نویسه؛ می‌توان از HTML استفاده کرد)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "ذخیرهٔ پیام وب‌گاه"
 
@@ -5102,12 +5333,14 @@ msgstr "تصاویر لحظه‌ای به این نشانی اینترنتی ف
 msgid "Save snapshot settings"
 msgstr "ذخیرهٔ تنظیمات تصویر لحظه‌ای"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "شما مشترک آن نمایه نیستید."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "نمی‌توان اشتراک را ذخیره کرد."
 
@@ -5348,75 +5581,93 @@ msgid ""
 msgstr "مجوز پیام «%1$s» با مجوز وب‌گاه «%2$s» سازگار نیست."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "کاربر"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "محدودیت شرح‌حال نادرست است. مقدار محدودیت باید عددی باشد."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "متن خوشامدگویی نامعتبر است. بیشینهٔ طول متن ۲۵۵ نویسه است."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "اشتراک پیش‌فرض نامعتبر است: «%1$s» کاربر نیست."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "نمایه"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "محدودیت شرح‌حال"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "بیشینهٔ طول یک شرح‌حال نمایه بر اساس نویسه‌ها."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "کاربران تازه"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "خوشامدگویی کاربر جدید"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "متن خوشامدگویی برای کاربران جدید (حداکثر ۲۵۵ نویسه)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "اشتراک پیش‌فرض"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "به صورت خودکار کاربران تازه‌وارد را مشترک این کاربر کن."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "دعوت‌نامه‌ها"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "دعوت نامه ها فعال شدند"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "چنان‌که به کاربران اجازهٔ دعوت‌کردن کاربران تازه داده شود."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5518,11 +5769,13 @@ msgstr "نمی‌توان نشانی اینترنتی چهره را خواند«
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "نوع تصویر برای نشانی اینترنتی چهره نادرست است «%s»."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "طراحی نمایه"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5620,7 +5873,7 @@ msgid "Plugins"
 msgstr "افزونه‌ها"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "نسخه"
 
@@ -5653,34 +5906,40 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
 "هیچ پرونده‌ای نباید بزرگ‌تر از %d بایت باشد و پرونده‌ای که شما فرستادید %d بایت "
 "بود. بارگذاری یک نسخهٔ کوچک‌تر را امتحان کنید."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
 "یک پرونده با این حجم زیاد می‌تواند از سهمیهٔ کاربری شما از %d بایت بگذرد."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
 "یک پرونده با این حجم زیاد می‌تواند از سهمیهٔ کاربری ماهانهٔ شما از %d بایت "
 "بگذرد."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "نام‌پرونده نادرست است."
 
@@ -5810,39 +6069,46 @@ msgid "Problem saving notice."
 msgstr "هنگام ذخیرهٔ پیام مشکلی ایجاد شد."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "هنگام ذخیرهٔ صندوق ورودی گروه مشکلی رخ داد."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "نمی‌توان نقش «%1$s» را از کاربر  #%2$d گرفت، وجود ندارد."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5914,33 +6180,33 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "@%2$s، به %1$s خوش آمدید!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "هیچ کاربر تنهایی برای حالت تک کاربره مشخص نشده است."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "نمیتوان گروه را تشکیل داد"
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 #, fuzzy
 msgid "Could not set group URI."
 msgstr "نمیتوان گروه را تشکیل داد"
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "نمی‌توان عضویت گروه را تعیین کرد."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "نمی‌توان اطلاعات گروه محلی را ذخیره کرد."
 
@@ -5990,194 +6256,201 @@ msgstr "%1$s (%2$s)"
 msgid "Untitled page"
 msgstr "صفحهٔ بدون عنوان"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "مسیریابی اصلی وب‌گاه"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "نمایهٔ شخصی و خط‌زمانی دوستان"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "شخصی"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "پست الکترونیکی، تصویر، گذرواژه یا نمایهٔ خودتان را تغییر دهید"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "حساب کاربری"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "اتصال به سرویس‌ها"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "وصل‌شدن"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "تغییر پیکربندی وب‌گاه"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "مدیر"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "دوستان و همکاران‌تان را دعوت کنید تا به شما در %s بپیوندند"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "دعوت‌کردن"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "خارج‌شدن از وب‌گاه"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "خروج"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "ساختن یک جساب‌کاربری"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "ثبت‌نام"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "ورود به وب‌گاه"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "ورود"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "به من کمک کنید!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "کمک"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "جست‌وجو برای افراد یا متن"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "جست‌وجو"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "پیام وب‌گاه"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "دید محلی"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "پیام صفحه"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "مسیریابی فرعی وب‌گاه"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "کمک"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "دربارهٔ"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "سوال‌های رایج"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "شرایط سرویس"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "خصوصی"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "منبع"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "تماس"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "نشان"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet مجوز نرم افزار"
 
@@ -6185,7 +6458,7 @@ msgstr "StatusNet مجوز نرم افزار"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6195,7 +6468,7 @@ msgstr ""
 "broughtbyurl%%) برای شما راه‌اندازی شده است."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** یک سرویس میکروبلاگینگ است."
@@ -6204,7 +6477,7 @@ msgstr "**%%site.name%%** یک سرویس میکروبلاگینگ است."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6216,50 +6489,50 @@ msgstr ""
 "org/licensing/licenses/agpl-3.0.html) در دسترس است."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "مجوز محتویات وب‌گاه"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "محتویات و داده‌های %1$s خصوصی و محرمانه هستند."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "حق تکثیر محتوا و داده‌ها با %1$s است. تمام حقوق محفوظ است."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr "حق تکثیر محتوا و داده‌ها با مشارکت‌کنندگان است. تمام حقوق محفوظ است."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "تمام محتویات و داده‌های %1$s زیر مجوز %2$s در دسترس هستند."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "صفحه بندى"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "پس از"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "قبل از"
 
@@ -6339,7 +6612,7 @@ msgid "User configuration"
 msgstr "پیکربندی کاربر"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "کاربر"
 
@@ -6604,7 +6877,7 @@ msgid "AJAX error"
 msgstr "خطای آژاکس"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "دستور انجام شد"
 
@@ -6620,7 +6893,7 @@ msgstr "پیامی با آن شناسه وجود ندارد."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "کاربر آگهی آخر ندارد"
@@ -6690,6 +6963,14 @@ msgstr "%1$s به گروه %2$s پیوست."
 msgid "%1$s left group %2$s."
 msgstr "%1$s گروه %2$s را ترک کرد."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6729,117 +7010,119 @@ msgstr ""
 "%s یک نمایهٔ ازراه‌دور است؛ شما تنها می‌توانید پیام‌های مستقیم را به کاربران در "
 "یک کارگزار بفرستید."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
 "پیام خیلی طولانی است - حداکثر تعداد مجاز %1$d نویسه است که شما %2$d نویسه را "
 "فرستادید."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "خطا در فرستادن پیام مستقیم."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "پیام %s تکرار شد."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "هنگام تکرار پیام خطایی رخ داد."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
 "پیام بسیار طولانی است - بیشترین اندازه امکان پذیر %d نویسه است، شما %d نویسه "
 "فرستاده‌اید"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "پاسخ به %s فرستاده شد."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "هنگام ذخیرهٔ پیام خطا رخ داد."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "نمی‌توان با دستور مشترک نمایه‌های OMB شد."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "اشتراک از %s لغو شد."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "دستور هنوز پیاده نشده است."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "آگاه‌سازی خاموش شد."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "ناتوان در خاموش کردن آگاه سازی."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "آگاه سازی فعال است."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "ناتوان در روشن کردن آگاه سازی."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "فرمان ورود غیرفعال شده است."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6847,54 +7130,54 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "%s لغو اشتراک شد."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "شما مشترک هیچ‌کسی نشده‌اید."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "شما مشترک این فرد شده‌اید:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "هیچ‌کس مشترک شما نشده است."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "این فرد مشترک شما شده است:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "شما در هیچ گروهی عضو نیستید ."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "شما یک عضو این گروه هستید:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7038,10 +7321,13 @@ msgstr "برنامه‌های وصل‌شدهٔ مجاز"
 msgid "Database error"
 msgstr "خطای پایگاه داده"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "بارگذاری پرونده"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7049,15 +7335,29 @@ msgstr ""
 "شما می‌توانید تصویر پیش‌زمینهٔ شخصی خود را بارگذاری کنید. بیشینهٔ اندازهٔ پرونده "
 "۲ مگابایت است."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"به دلیل تنظبمات، سرور نمی‌تواند این مقدار اطلاعات (%s بایت( را دریافت کند."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "روشن"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "خاموش"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "بازنشاندن"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "پیش‌فرض‌های طراحی برگردانده شدند."
 
@@ -7086,7 +7386,8 @@ msgstr "مؤلف"
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7124,7 +7425,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "۱-۶۴ کاراکتر کوچک یا اعداد، بدون نقطه گذاری یا فاصله"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "نشانی اینترنتی صفحهٔ‌خانگی یا وبلاگ گروه یا موضوع"
 
 #: lib/groupeditform.php:168
@@ -7132,19 +7434,27 @@ msgid "Describe the group or topic"
 msgstr "گروه یا موضوع را توصیف کنید"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "گروه یا موضوع را در %d نویسه توصیف کنید"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "گروه یا موضوع را در %d نویسه توصیف کنید"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "مکان گروه، در صورت وجود داشتن، مانند «شهر، ایالت (یا استان)، کشور»"
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr "نام‌های مستعار اضافی برای گروه، با کاما- یا فاصله- جدا شود، بیشینه %d"
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"نام‌های مستعار اضافی برای گروه، با کاما- یا فاصله- جدا شود، بیشینه %d"
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7244,40 +7554,55 @@ msgstr "این صفحه در نوع رسانه‌ای که پذیرفته‌ای
 msgid "Unsupported image file format."
 msgstr "فرمت(فایل) عکس پشتیبانی نشده."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "این پرونده خیلی بزرگ است. بیشینهٔ اندازهٔ پرونده %s است."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 #, fuzzy
 msgid "Partial upload."
 msgstr "هیچ پرونده‌ای بارگذاری نشد."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "هنگام بارگذاری پرونده خطای سیستمی رخ داد."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "تصویر یا فایل خرابی نیست"
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "فایلمان گم شده"
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "نوع فایل پشتیبانی نشده"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "مگابایت"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "مگابایت"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "کیلوبایت"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "کیلوبایت"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7525,7 +7850,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "پیام شما را به برگزیده‌های خود اضافه کرد %s (@%s)"
@@ -7535,7 +7860,7 @@ msgstr "پیام شما را به برگزیده‌های خود اضافه کر
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7577,7 +7902,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7590,7 +7915,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) به توجه شما یک پیام فرستاد"
@@ -7601,7 +7926,7 @@ msgstr "%s (@%s) به توجه شما یک پیام فرستاد"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7680,7 +8005,7 @@ msgstr "با عرض پوزش، این پست الکترونیک شما نیست.
 msgid "Sorry, no incoming email allowed."
 msgstr "با عرض پوزش، اجازه‌ی ورودی پست الکترونیک وجود ندارد"
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "نوع پیام پشتیبانی نشده است: %s"
@@ -7743,7 +8068,7 @@ msgstr "نمی‌توان فرمت پرونده را تعیین کرد."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7752,7 +8077,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7894,31 +8219,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "نمی‌توان اشتراک تازه‌ای افزود."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "شخصی"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "پاسخ ها"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "برگزیده‌ها"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "صندوق دریافتی"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "پیام های وارد شونده ی شما"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "صندوق خروجی"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "پیام‌های فرستاده شدهٔ شما"
 
@@ -8028,16 +8353,17 @@ msgid "Sandbox this user"
 msgstr "آزاد سازی کاربر"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "جست‌وجوی وب‌گاه"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "کلمه(های) کلیدی"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8118,6 +8444,12 @@ msgstr ""
 msgid "None"
 msgstr "هیچ"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "نام‌پرونده نادرست است."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8127,8 +8459,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "به روز رسانی چهره موفقیت آمیر نبود."
@@ -8139,29 +8471,31 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 #, fuzzy
 msgid "Error opening theme archive."
 msgstr "خطا هنگام به‌هنگام‌سازی نمایهٔ از راه دور."
@@ -8170,6 +8504,13 @@ msgstr "خطا هنگام به‌هنگام‌سازی نمایهٔ از راه
 msgid "Top posters"
 msgstr "اعلان های بالا"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "آزاد سازی"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8334,17 +8675,21 @@ msgstr[0] ""
 "پیام خیلی طولانی است - حداکثر تعداد مجاز %1$d نویسه است که شما %2$d نویسه را "
 "فرستادید."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "هیچ شناسهٔ کاربری مشخص نشده است."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
index adf3205e7e4da68b3a9b14f78b1f5e00907e4043..0fbdc4ed946aadb4fa6e3692c5a9a4f4398df25d 100644 (file)
@@ -14,17 +14,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:58+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:15+0000\n"
 "Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fi\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -87,15 +87,22 @@ msgstr "Profiilikuva-asetukset"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Tallenna"
@@ -126,6 +133,7 @@ msgstr "Sivua ei ole."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -138,14 +146,14 @@ msgstr "Sivua ei ole."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Käyttäjää ei ole."
@@ -162,7 +170,7 @@ msgstr "%s ja kaverit"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s ja kaverit"
@@ -218,7 +226,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -314,11 +324,12 @@ msgstr "Käyttäjän päivitys epäonnistui."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -331,11 +342,13 @@ msgstr "Profiilin tallennus epäonnistui."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -511,9 +524,11 @@ msgstr "Ei voitu päivittää käyttäjää."
 msgid "Could not find target user."
 msgstr "Ei voitu päivittää käyttäjää."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -521,35 +536,43 @@ msgstr ""
 "välilyöntiä."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Tunnus on jo käytössä. Yritä toista tunnusta."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Tuo ei ole kelvollinen tunnus."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Kotisivun verkko-osoite ei ole toimiva."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -558,10 +581,14 @@ msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -569,9 +596,11 @@ msgstr[0] "kuvaus on liian pitkä (max %d merkkiä)."
 msgstr[1] "kuvaus on liian pitkä (max %d merkkiä)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -579,7 +608,12 @@ msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -595,15 +629,19 @@ msgstr "Virheellinen alias: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias \"%s\" on jo käytössä. Yritä toista aliasta."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias ei voi olla sama kuin ryhmätunnus."
 
@@ -709,21 +747,21 @@ msgid "Request token already authorized."
 msgstr "Sinulla ei ole valtuutusta tähän."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Istuntosi avaimen kanssa oli ongelmia. Olisitko ystävällinen ja kokeilisit "
@@ -742,17 +780,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Tietokantavirhe tallennettaessa risutagiä: %s"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Odottamaton lomakkeen lähetys."
 
@@ -796,9 +836,10 @@ msgstr "Käyttäjätili"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -892,21 +933,22 @@ msgstr "Et voi poistaa toisen käyttäjän päivitystä."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Päivitystä ei ole."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 #, fuzzy
 msgid "Cannot repeat your own notice."
 msgstr "Ilmoituksia ei voi pistää päälle."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Tätä päivitystä ei voi poistaa."
 
@@ -927,7 +969,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -942,7 +985,7 @@ msgstr "API-metodia ei löytynyt."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1048,105 +1091,140 @@ msgstr "API-metodi on työn alla!"
 msgid "User not found."
 msgstr "API-metodia ei löytynyt."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Liitettä ei ole."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Tunnusta ei ole."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Kokoa ei ole."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Koko ei kelpaa."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Kuva"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Voit ladata oman profiilikuvasi. Maksimikoko on %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Käyttäjällä ei ole profiilia."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Profiilikuva-asetukset"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Alkuperäinen"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Esikatselu"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Poista"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Lataa"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Rajaa"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 #, fuzzy
 msgid "No file uploaded."
 msgstr "Profiilia ei ole määritelty."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Valitse neliön muotoinen alue kuvasta profiilikuvaksi"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Tiedoston data hävisi."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Kuva päivitetty."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Profiilikuvan päivittäminen epäonnistui."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Kuva poistettu."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "!!FUZZZY!!Olet jos tilannut seuraavien käyttäjien päivitykset:"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Estä käyttäjä"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1159,8 +1237,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1168,7 +1246,7 @@ msgstr "Huomaa"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Älä estä tätä käyttäjää"
 
@@ -1178,8 +1256,8 @@ msgstr "Älä estä tätä käyttäjää"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 #, fuzzy
 msgctxt "BUTTON"
@@ -1188,140 +1266,170 @@ msgstr "Kyllä"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Estä tämä käyttäjä"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Käyttäjän estotiedon tallennus epäonnistui."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Tuota ryhmää ei ole."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, fuzzy, php-format
 msgid "%s blocked profiles"
 msgstr "Käyttäjän profiili"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, fuzzy, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%s ja kaverit, sivu %d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Lista käyttäjistä, jotka ovat estetty liittymästä tähän ryhmään."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Poista käyttäjän esto ryhmästä"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Poista esto"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Poista esto tältä käyttäjältä"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Vastaukset käyttäjälle %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Varmistuskoodia ei ole annettu."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Vahvistuskoodia ei löytynyt."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Tämä vahvistuskoodi ei ole sinun!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tuntematon osoitetyyppi %s "
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Tämä osoite on jo vahvistettu."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Ei voitu päivittää käyttäjää."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Ei voitu poistaa sähköpostivahvistusta."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Tämän hetken vahvistettu sähköpostiosoite."
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Osoite \"%s\" on vahvistettu sinun käyttäjätunnuksellesi."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Keskustelu"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Päivitykset"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Sinun pitää olla kirjautunut sisään, jotta voit erota ryhmästä."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Vahvistuskoodia ei löytynyt."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 #, fuzzy
 msgid "You are not the owner of this application."
@@ -1330,16 +1438,19 @@ msgstr "Sinä et kuulu tähän ryhmään."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Istuntoavaimesi kanssa oli ongelma."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 #, fuzzy
 msgid "Delete application"
 msgstr "Päivitystä ei ole."
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1347,13 +1458,13 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 #, fuzzy
 msgid "Do not delete this application"
 msgstr "Älä poista tätä päivitystä"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 #, fuzzy
 msgid "Delete this application"
 msgstr "Poista tämä päivitys"
@@ -1391,13 +1502,14 @@ msgstr "Ei voitu päivittää ryhmää."
 msgid "Deleted group %s"
 msgstr "Käyttäjän %1$s päivitys %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Poista käyttäjä"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1417,22 +1529,27 @@ msgstr "Älä poista tätä päivitystä"
 msgid "Delete this group"
 msgstr "Poista käyttäjä"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Et ole kirjautunut sisään."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Tätä päivitystä ei voi poistaa."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1440,21 +1557,24 @@ msgstr ""
 "Olet poistamassa tämän päivityksen pysyvästi.  Kun tämä on tehty, poistoa ei "
 "voi enää perua."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Poista päivitys"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Oletko varma että haluat poistaa tämän päivityksen?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Älä poista tätä päivitystä"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Poista tämä päivitys"
 
@@ -1543,12 +1663,14 @@ msgstr "Palvelun ilmoitus"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Vaihda tautakuva"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Tausta"
 
@@ -1560,43 +1682,51 @@ msgid ""
 msgstr "Voit ladata ryhmälle logokuvan. Maksimikoko on %s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "On"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Off"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 #, fuzzy
 msgid "Turn background image on or off."
 msgstr "Vaihda tautakuva"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "Vaihda tautakuva"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Vaihda väriä"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Sisältö"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 #, fuzzy
 msgid "Sidebar"
 msgstr "Haku"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Teksti"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Linkit"
 
@@ -1608,31 +1738,33 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Käytä oletusasetuksia"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 #, fuzzy
 msgid "Restore default designs"
 msgstr "Käytä oletusasetuksia"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 #, fuzzy
 msgid "Reset back to default"
 msgstr "Käytä oletusasetuksia"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Tallenna"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 #, fuzzy
 msgid "Save design"
 msgstr "Ryhmän ulkoasu"
@@ -1682,9 +1814,9 @@ msgid "Name is required."
 msgstr "Sama kuin ylläoleva salasana. Pakollinen."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1716,7 +1848,7 @@ msgid "Organization is required."
 msgstr ""
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
@@ -1741,50 +1873,50 @@ msgstr ""
 msgid "Could not update application."
 msgstr "Ei voitu päivittää ryhmää."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Muokkaa ryhmää %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Sinun pitää olla kirjautunut sisään jotta voit luoda ryhmän."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr ""
 "Sinun pitää olla kirjautunut sisään, jotta voit muuttaa ryhmän tietoja."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Käytä tätä lomaketta muokataksesi ryhmää."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "kuvaus on liian pitkä (max %d merkkiä)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Liikaa aliaksia. Maksimimäärä on %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Virheellinen alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Ei voitu päivittää ryhmää."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Ei voitu lisätä aliasta."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Asetukset tallennettu."
 
@@ -1984,6 +2116,12 @@ msgstr "Avoimia vahvistuksia ei ole peruutettavana."
 msgid "That is the wrong email address."
 msgstr "Tämä on väärä pikaviestiosoite."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Ei voitu poistaa sähköpostivahvistusta."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2061,7 +2199,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Käyttäjän %s suosikkipäivitykset"
@@ -2162,20 +2300,24 @@ msgstr "Päivityksesi tähän palveluun on estetty."
 msgid "User already has this role."
 msgstr "Käyttäjällä ei ole profiilia."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Profiilia ei ole määritelty."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 #, fuzzy
 msgid "No profile with that ID."
 msgstr "Ei profiilia tuolle ID:lle."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Ryhmää ei ole määritelty."
@@ -2239,8 +2381,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Ei voitu päivittää sinun sivusi ulkoasua."
 
@@ -2258,6 +2402,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "Voit ladata ryhmälle logokuvan. Maksimikoko on %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Lataa"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Rajaa"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Valitse neliön muotoinen alue kuvasta logokuvaksi"
@@ -2392,15 +2544,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Vain ylläpitäjä voi poistaa eston ryhmän jäseniltä."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Käyttäjää ei ole estetty ryhmästä."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Tapahtui virhe, kun estoa poistettiin."
 
@@ -2491,7 +2646,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Julkaise MicroID Jabber/GTalk-osoitteelleni."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Asetukset tallennettu."
 
@@ -2616,10 +2771,9 @@ msgstr[1] "Olet jo tilannut seuraavien käyttäjien päivitykset:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2806,8 +2960,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2986,29 +3141,21 @@ msgstr "Sinun pitää olla kirjautunut sisään jotta voit luoda ryhmän."
 msgid "Use this form to register a new application."
 msgstr "Käytä tätä lomaketta luodaksesi ryhmän."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr ""
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 #, fuzzy
 msgid "Could not create application."
 msgstr "Ei voitu lisätä aliasta."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Uusi ryhmä"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Käytä tätä lomaketta luodaksesi ryhmän."
@@ -3018,14 +3165,14 @@ msgid "New message"
 msgstr "Uusi viesti"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Et voi lähettää viestiä tälle käyttäjälle."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Ei sisältöä!"
 
@@ -3034,7 +3181,7 @@ msgid "No recipient specified."
 msgstr "Vastaanottajaa ei ole määritelty."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Älä lähetä viestiä itsellesi, vaan kuiskaa se vain hiljaa itsellesi."
@@ -3045,12 +3192,12 @@ msgstr "Viesti lähetetty"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "Suora viesti käyttäjälle %s lähetetty"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax-virhe"
 
@@ -3058,17 +3205,7 @@ msgstr "Ajax-virhe"
 msgid "New notice"
 msgstr "Uusi päivitys"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Päivitys on liian pitkä. Maksimipituus on %d merkkiä."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Maksimikoko päivitykselle on %d merkkiä, mukaan lukien URL-osoite."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Päivitys lähetetty"
 
@@ -3210,25 +3347,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Käyttäjällä ei ole profiilia."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Käyttäjän %1$s päivitys %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "Yhdistä"
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Tuo ei ole tuettu tietomuoto."
@@ -3241,36 +3378,46 @@ msgstr "Etsi ihmisiä"
 msgid "Notice Search"
 msgstr "Etsi Päivityksistä"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Profiilikuva-asetukset"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Hallinnoi muita asetuksia."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Lyhennä URL-osoitteita"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Käytettävä automaattinen lyhennyspalvelu."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Näytä tai piillota profiilin ulkoasu."
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Näytä tai piillota profiilin ulkoasu."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL-lyhennyspalvelun nimi on liian pitkä (max 50 merkkiä)."
 
 #: actions/otp.php:69
@@ -3726,8 +3873,9 @@ msgstr ""
 "välilyöntejä"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Koko nimi"
@@ -3767,9 +3915,10 @@ msgid "Bio"
 msgstr "Tietoja"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Kotipaikka"
@@ -4108,7 +4257,8 @@ msgid "Unexpected password reset."
 msgstr "Odottamaton salasanan uudelleenasetus."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Salasanassa pitää olla 6 tai useampia merkkejä."
 
 #: actions/recoverpassword.php:369
@@ -4360,7 +4510,7 @@ msgid "Repeated!"
 msgstr "Luotu"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Vastaukset käyttäjälle %s"
@@ -4500,11 +4650,12 @@ msgstr "Sivutus"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Kuvaus"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Tilastot"
@@ -4522,6 +4673,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Poista"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4606,78 +4762,107 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Ryhmä %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Ryhmät, sivu %d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Ryhmän profiili"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Huomaa"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliakset"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Ryhmän toiminnot"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Syöte ryhmän %s päivityksille (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Syöte ryhmän %s päivityksille (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Syöte ryhmän %s päivityksille (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Käyttäjän %s lähetetyt viestit"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Jäsenet"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 #, fuzzy
 msgid "(None)"
 msgstr "(Tyhjä)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Kaikki jäsenet"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Luotu"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Jäsenet"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4687,7 +4872,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4698,24 +4886,31 @@ msgstr ""
 "**%s** on ryhmä palvelussa %%%%site.name%%%%, joka on [mikroblogauspalvelu]"
 "(http://en.wikipedia.org/wiki/Micro-blogging)"
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Ylläpitäjät"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Tuota viestiä ei ole."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Vain lähettäjä ja vastaanottaja voivat lukea tämän viestin."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Viesti käyttäjälle %1$s, %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Viesti käyttäjältä %1$s, %2$s"
@@ -4724,55 +4919,77 @@ msgstr "Viesti käyttäjältä %1$s, %2$s"
 msgid "Notice deleted."
 msgstr "Päivitys on poistettu."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "Ryhmät, sivu %d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "Päivitykset joilla on tagi %s"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "Ryhmät, sivu %d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Syöte ryhmän %s päivityksille (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Syöte ryhmän %s päivityksille (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Syöte ryhmän %s päivityksille (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Syöte ryhmän %s päivityksille (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "Käyttäjän %s lähetetyt viestit"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 "Tämä on käyttäjän %s ja kavereiden aikajana, mutta kukaan ei ole lähettyänyt "
 "vielä mitään."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, fuzzy, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4781,7 +4998,9 @@ msgstr ""
 "Ole ensimmäinen joka [lähettää päivityksen tästä aiheesta](%%%%action."
 "newnotice%%%%?status_textarea=%s)!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4790,7 +5009,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4800,7 +5021,8 @@ msgstr ""
 "Käyttäjällä **%s** on käyttäjätili palvelussa %%%%site.name%%%%, joka on "
 "[mikroblogauspalvelu](http://en.wikipedia.org/wiki/Micro-blogging)"
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "Vastaukset käyttäjälle %s"
@@ -4917,35 +5139,42 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 #, fuzzy
 msgid "Site Notice"
 msgstr "Palvelun ilmoitus"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Uusi viesti"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Twitter-asetuksia ei voitu tallentaa!"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "Palvelun ilmoitus"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "Palvelun ilmoitus"
@@ -5167,12 +5396,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Profiilikuva-asetukset"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Tilausta ei onnistuttu tallentamaan."
 
@@ -5408,83 +5639,100 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 #, fuzzy
 msgctxt "TITLE"
 msgid "User"
 msgstr "Käyttäjä"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profiili"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 #, fuzzy
 msgid "New users"
 msgstr "Kutsu uusia käyttäjiä"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Kaikki tilaukset"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "Tilaa automaattisesti kaikki, jotka tilaavat päivitykseni (ei sovi hyvin "
 "ihmiskäyttäjille)"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 #, fuzzy
 msgid "Invitations"
 msgstr "Kutsu(t) lähetettiin"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 #, fuzzy
 msgid "Invitations enabled"
 msgstr "Kutsu(t) lähetettiin"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5595,12 +5843,14 @@ msgstr "Kuvan URL-osoitetta '%s' ei voi avata."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Kuvan '%s' tyyppi on väärä"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Profiiliasetukset"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5685,7 +5935,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 #, fuzzy
 msgid "Version"
 msgstr "Omat"
@@ -5719,29 +5969,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "Koko ei kelpaa."
@@ -5877,40 +6136,47 @@ msgid "Problem saving notice."
 msgstr "Ongelma päivityksen tallentamisessa."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "Ongelma päivityksen tallentamisessa."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Tilausta ei onnistuttu tallentamaan."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5984,32 +6250,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Viesti käyttäjälle %1$s, %2$s"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Ryhmän luonti ei onnistunut."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Ryhmän luonti ei onnistunut."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Ryhmän jäsenyystietoja ei voitu asettaa."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "Tilausta ei onnistuttu tallentamaan."
@@ -6061,50 +6327,56 @@ msgstr "%1$s (%2$s)"
 msgid "Untitled page"
 msgstr "Nimetön sivu"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Ensisijainen sivunavigointi"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Henkilökohtainen profiili ja kavereiden aikajana"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 #, fuzzy
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Omat"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Vaihda salasanasi"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Käyttäjätili"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Ei voitu uudelleenohjata palvelimelle: %s"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Yhdistä"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
@@ -6112,85 +6384,85 @@ msgstr "Ensisijainen sivunavigointi"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 #, fuzzy
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Ylläpito"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, fuzzy, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Kutsu kavereita ja työkavereita liittymään palveluun %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Kutsu"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Kirjaudu sisään"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Kirjaudu ulos"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Luo uusi ryhmä"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 #, fuzzy
 msgctxt "MENU"
 msgid "Register"
 msgstr "Rekisteröidy"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Kirjaudu sisään"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 #, fuzzy
 msgctxt "MENU"
 msgid "Login"
 msgstr "Kirjaudu sisään"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ohjeet"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 #, fuzzy
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ohjeet"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Hae lisää ryhmiä"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 #, fuzzy
 msgctxt "MENU"
 msgid "Search"
@@ -6198,68 +6470,69 @@ msgstr "Haku"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Palvelun ilmoitus"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Paikalliset näkymät"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Sivuilmoitus"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Toissijainen sivunavigointi"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Ohjeet"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Tietoa"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "UKK"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Yksityisyys"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Lähdekoodi"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Ota yhteyttä"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 #, fuzzy
 msgid "Badge"
 msgstr "Tönäise"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet-ohjelmiston lisenssi"
 
@@ -6267,7 +6540,7 @@ msgstr "StatusNet-ohjelmiston lisenssi"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6277,7 +6550,7 @@ msgstr ""
 "site.broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** on mikroblogipalvelu."
@@ -6286,7 +6559,7 @@ msgstr "**%%site.name%%** on mikroblogipalvelu."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6298,51 +6571,51 @@ msgstr ""
 "www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 #, fuzzy
 msgid "Site content license"
 msgstr "StatusNet-ohjelmiston lisenssi"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Sivutus"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Myöhemmin"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Aiemmin"
 
@@ -6431,7 +6704,7 @@ msgid "User configuration"
 msgstr "SMS vahvistus"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Käyttäjä"
 
@@ -6707,7 +6980,7 @@ msgid "AJAX error"
 msgstr "Ajax-virhe"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Komento suoritettu"
 
@@ -6724,7 +6997,7 @@ msgstr "Ei profiilia tuolla id:llä."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "Käyttäjällä ei ole viimeistä päivitystä"
@@ -6791,6 +7064,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6828,130 +7109,134 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
+msgstr[1] "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Tapahtui virhe suoran viestin lähetyksessä."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Päivitys lähetetty"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Virhe tapahtui käyttäjän asettamisessa."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
+msgstr[1] "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "Vastaa tähän päivitykseen"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Ongelma päivityksen tallentamisessa."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "Anna käyttäjätunnus, jonka päivitykset haluat tilata"
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Anna käyttäjätunnus, jonka päivityksien tilauksen haluat lopettaa"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Komentoa ei ole vielä toteutettu."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Ilmoitukset pois päältä."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Ilmoituksia ei voi pistää pois päältä."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Ilmoitukset päällä."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Ilmoituksia ei voi pistää päälle."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
@@ -6959,7 +7244,7 @@ msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 #, fuzzy
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
@@ -6968,7 +7253,7 @@ msgstr[1] "Olet jos tilannut seuraavien käyttäjien päivitykset:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Toista ei voitu asettaa tilaamaan sinua."
@@ -6976,7 +7261,7 @@ msgstr "Toista ei voitu asettaa tilaamaan sinua."
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 #, fuzzy
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
@@ -6985,7 +7270,7 @@ msgstr[1] "Toista ei voitu asettaa tilaamaan sinua."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 #, fuzzy
 msgid "You are not a member of any groups."
 msgstr "Sinä et kuulu tähän ryhmään."
@@ -6993,14 +7278,14 @@ msgstr "Sinä et kuulu tähän ryhmään."
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Sinä et kuulu tähän ryhmään."
 msgstr[1] "Sinä et kuulu tähän ryhmään."
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7107,25 +7392,43 @@ msgstr ""
 msgid "Database error"
 msgstr "Tietokantavirhe"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 #, fuzzy
 msgid "Upload file"
 msgstr "Lataa"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 #, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "Voit ladata oman profiilikuvasi. Maksimikoko on %s."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "On"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Off"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Vaihda"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 #, fuzzy
 msgid "Design defaults restored."
 msgstr "Ulkoasuasetukset tallennettu."
@@ -7154,7 +7457,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7195,7 +7499,8 @@ msgstr ""
 "välilyöntejä"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "Ryhmän tai aiheen kotisivun tai blogin osoite"
 
 #: lib/groupeditform.php:168
@@ -7204,21 +7509,30 @@ msgid "Describe the group or topic"
 msgstr "Kuvaile ryhmää tai aihetta 140 merkillä"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Kuvaile itseäsi ja kiinnostuksen kohteitasi %d merkillä"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Kuvaile itseäsi ja kiinnostuksen kohteitasi %d merkillä"
+msgstr[1] "Kuvaile itseäsi ja kiinnostuksen kohteitasi %d merkillä"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Ryhmän paikka, jos sellainen on, kuten \"Kaupunki, Maakunta (tai Lääni), Maa"
 "\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7318,39 +7632,57 @@ msgstr "Tämä sivu ei ole saatavilla sinulle sopivassa mediatyypissä."
 msgid "Unsupported image file format."
 msgstr "Kuvatiedoston formaattia ei ole tuettu."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Voit ladata ryhmälle logon."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Osittain ladattu palvelimelle."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Tiedoston lähetyksessä tapahtui järjestelmävirhe."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Tuo ei ole kelvollinen kuva tai tiedosto on rikkoutunut."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Tiedosto hävisi."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Tunnistamaton tiedoston tyyppi"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr ""
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr ""
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7560,7 +7892,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "Lähetä sähköpostia, jos joku lisää päivitykseni suosikiksi."
@@ -7570,7 +7902,7 @@ msgstr "Lähetä sähköpostia, jos joku lisää päivitykseni suosikiksi."
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7592,7 +7924,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7602,7 +7934,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7613,7 +7945,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7671,7 +8003,7 @@ msgstr "Valitettavasti tuo ei ole oikea osoite sähköpostipäivityksille."
 msgid "Sorry, no incoming email allowed."
 msgstr "Valitettavasti päivitysten teko sähköpostilla ei ole sallittua."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Kuvatiedoston formaattia ei ole tuettu."
@@ -7733,7 +8065,7 @@ msgstr "Ei voitu poistaa suosikkia."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7742,7 +8074,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7888,31 +8220,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Ei voitu lisätä uutta tilausta."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Omat"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Vastaukset"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Suosikit"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Saapuneet"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Sinulle saapuneet viestit"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Lähetetyt"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Lähettämäsi viestit"
 
@@ -8026,17 +8358,18 @@ msgid "Sandbox this user"
 msgstr "Poista esto tältä käyttäjältä"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 #, fuzzy
 msgid "Search site"
 msgstr "Haku"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8120,6 +8453,12 @@ msgstr ""
 msgid "None"
 msgstr "Ei mitään"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Koko ei kelpaa."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8129,8 +8468,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Profiilikuvan päivittäminen epäonnistui."
@@ -8141,29 +8480,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Tapahtui virhe, kun estoa poistettiin."
 
@@ -8171,6 +8513,13 @@ msgstr "Tapahtui virhe, kun estoa poistettiin."
 msgid "Top posters"
 msgstr "Eniten päivityksiä"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Poista esto"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8343,17 +8692,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
 msgstr[1] "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Ryhmää ei ole määritelty."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index d5d956107ecf1c6adf8174e99105db0a8b6de9d7..7e283b69b684ea6831874a2640885bcbec266e15 100644 (file)
@@ -20,17 +20,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:08:59+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:17+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -87,15 +87,22 @@ msgstr "Sauvegarder les paramètres d’accès"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Enregistrer"
@@ -126,6 +133,7 @@ msgstr "Page non trouvée."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -138,14 +146,14 @@ msgstr "Page non trouvée."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Utilisateur non trouvé."
@@ -162,7 +170,7 @@ msgstr "%1$s et ses amis, page %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s et ses amis"
@@ -219,7 +227,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -319,11 +329,12 @@ msgstr "Impossible de mettre à jour l’utilisateur."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -336,11 +347,13 @@ msgstr "Impossible d’enregistrer le profil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -517,9 +530,11 @@ msgstr "Impossible de déterminer l’utilisateur source."
 msgid "Could not find target user."
 msgstr "Impossible de trouver l’utilisateur cible."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -527,35 +542,43 @@ msgstr ""
 "chiffres, sans espaces."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Pseudo déjà utilisé. Essayez-en un autre."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Pseudo invalide."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "L’adresse du site personnel n’est pas un URL valide. "
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "Le nom complet est trop long (limité à 255 caractères maximum)."
@@ -563,10 +586,14 @@ msgstr "Le nom complet est trop long (limité à 255 caractères maximum)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -574,16 +601,23 @@ msgstr[0] "La description est trop longue (limitée à %d caractère maximum)."
 msgstr[1] "La description est trop longue (limitée à %d caractères maximum)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "L’emplacement est trop long (limité à 255 caractères maximum)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -599,15 +633,19 @@ msgstr "Alias invalide : « %s »."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias « %s » déjà utilisé. Essayez-en un autre."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "L’alias ne peut pas être le même que le pseudo."
 
@@ -710,21 +748,21 @@ msgid "Request token already authorized."
 msgstr "Le jeton de requête a déjà été autorisé."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Un problème est survenu avec votre jeton de session. Veuillez essayer à "
@@ -743,17 +781,19 @@ msgstr ""
 "l’utilisateur de l’application OAuth"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Soumission de formulaire inattendue."
 
@@ -805,9 +845,10 @@ msgstr "Compte"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -903,20 +944,21 @@ msgstr "Vous ne pouvez pas supprimer le statut d’un autre utilisateur."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Avis non trouvé."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Vous ne pouvez pas reprendre votre propre avis."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Vous avez déjà repris cet avis."
 
@@ -937,7 +979,8 @@ msgstr "Le client doit fournir un paramètre « statut » avec une valeur."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -953,7 +996,7 @@ msgstr "L’avis parent correspondant à cette réponse n’a pas été trouvé.
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1062,31 +1105,42 @@ msgstr "Méthode API en construction."
 msgid "User not found."
 msgstr "Page non trouvée."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Pièce jointe non trouvée."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Aucun pseudo."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Aucune taille"
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Taille incorrecte."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
@@ -1094,74 +1148,98 @@ msgstr ""
 "Vous pouvez associer un « avatar » (image personnelle) à votre profil. La "
 "taille maximale du fichier est de %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Utilisateur sans profil correspondant."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Paramètres de l’avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Image originale"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Aperçu"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Supprimer"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Transfert"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Recadrer"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Aucun fichier n’a été téléversé."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Sélectionnez une zone de forme carrée pour définir votre avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Données perdues."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar mis à jour."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "La mise à jour de l’avatar a échoué."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar supprimé."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Vous avez déjà bloqué cet utilisateur."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquer cet utilisateur"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1177,8 +1255,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1186,7 +1264,7 @@ msgstr "Non"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Ne pas bloquer cet utilisateur"
 
@@ -1196,8 +1274,8 @@ msgstr "Ne pas bloquer cet utilisateur"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1205,140 +1283,170 @@ msgstr "Oui"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloquer cet utilisateur"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Impossible d’enregistrer les informations de blocage."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Aucun groupe trouvé."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s profils bloqués"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s profils bloqués, page %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Une liste des utilisateurs dont l’inscription à ce groupe est bloquée."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Débloquer l’utilisateur de ce groupe"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Débloquer"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Débloquer cet utilisateur"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Poster sur %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Aucun code de confirmation."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Code de confirmation non trouvé."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Ce code de confirmation n’est pas pour vous !"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Type d’adresse non reconnu : %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Cette adresse a déjà été confirmée."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Impossible de mettre à jour l’utilisateur."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Impossible de supprimer le courriel de confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Impossible de supprimer la confirmation de messagerie instantanée."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmer l’adresse"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "L'adresse \"%s\" a été validée pour votre compte."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversation"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Avis"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Vous devez être connecté pour supprimer une application."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Application non trouvée."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Vous n’êtes pas le propriétaire de cette application."
@@ -1346,15 +1454,18 @@ msgstr "Vous n’êtes pas le propriétaire de cette application."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Un problème est survenu avec votre jeton de session."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Supprimer l’application"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1365,12 +1476,12 @@ msgstr ""
 "utilisateur existantes."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Ne pas supprimer cette application"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Supprimer cette application"
 
@@ -1404,12 +1515,13 @@ msgstr "Impossible de supprimer le groupe « %s »."
 msgid "Deleted group %s"
 msgstr "Groupe « %s » supprimé"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Supprimer le groupe"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1431,22 +1543,27 @@ msgstr "Ne pas supprimer ce groupe"
 msgid "Delete this group"
 msgstr "Supprimer ce groupe"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Non connecté."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Impossible de supprimer cet avis."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1454,21 +1571,24 @@ msgstr ""
 "Vous êtes sur le point de supprimer définitivement un message. Une fois cela "
 "fait, il est impossible de l’annuler."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Supprimer cet avis"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Voulez-vous vraiment supprimer cet avis ?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Ne pas supprimer cet avis"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Supprimer cet avis"
 
@@ -1553,12 +1673,14 @@ msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 "Vous pouvez importer un thème StatusNet personnalisé dans une archive .ZIP."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Changer l’image d’arrière plan"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Arrière plan"
 
@@ -1572,40 +1694,48 @@ msgstr ""
 "maximale du fichier est de %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Activé"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Désactivé"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Activer ou désactiver l’image d’arrière plan."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Répéter l’image d’arrière plan"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Modifier les couleurs"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Contenu"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barre latérale"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texte"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Liens"
 
@@ -1617,29 +1747,31 @@ msgstr "Avancé"
 msgid "Custom CSS"
 msgstr "CSS personnalisé"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Utiliser les valeurs par défaut"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaurer les conceptions par défaut"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Revenir aux valeurs par défaut"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Enregistrer"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Sauvegarder la conception"
 
@@ -1683,8 +1815,9 @@ msgid "Name is required."
 msgstr "Le nom est requis."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+#, fuzzy
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Le nom est trop long (limité à 255 caractères maximum)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1713,7 +1846,7 @@ msgid "Organization is required."
 msgstr "L’organisation est requise."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "L’organisation est trop longue (limitée à 255 caractères maximum)."
 
@@ -1736,49 +1869,49 @@ msgstr "L’URL de rappel (Callback) est invalide."
 msgid "Could not update application."
 msgstr "Impossible de mettre à jour l’application."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Modifier le groupe %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Vous devez ouvrir une session pour créer un groupe."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Vous devez être administrateur pour modifier le groupe."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Remplissez ce formulaire pour modifier les options du groupe."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "La description est trop longue (limitée à %d caractères maximum)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Trop d’alias ! Maximum %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Alias invalide : « %s »"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Impossible de mettre à jour le groupe."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Impossible de créer les alias."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Vos options ont été enregistrées."
 
@@ -1971,6 +2104,12 @@ msgstr "Aucune confirmation à annuler."
 msgid "That is the wrong email address."
 msgstr "Cette adresse de messagerie électronique est erronée."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Impossible de supprimer le courriel de confirmation."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2054,7 +2193,7 @@ msgstr ""
 "premier à ajouter un avis à vos favoris !"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Avis favoris de %s"
@@ -2151,19 +2290,23 @@ msgstr "Vous ne pouvez pas attribuer des rôles aux utilisateurs sur ce site."
 msgid "User already has this role."
 msgstr "L’utilisateur a déjà ce rôle."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Aucun profil n’a été spécifié."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Aucun profil ne correspond à cet identifiant."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Aucun groupe n’a été spécifié."
@@ -2230,8 +2373,10 @@ msgstr ""
 "Personnalisez l’apparence de votre groupe avec une image d’arrière plan et "
 "une palette de couleurs de votre choix"
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Impossible de mettre à jour votre conception."
 
@@ -2251,6 +2396,14 @@ msgstr ""
 "Vous pouvez choisir un logo pour votre groupe. La taille maximale du fichier "
 "est de %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Transfert"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Recadrer"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Sélectionnez une zone de forme carrée sur l’image qui sera le logo."
@@ -2395,15 +2548,18 @@ msgstr ""
 "Pourquoi ne pas [créer un compte](%%action.register%%) et [créer le groupe](%"
 "%action.newgroup%%) vous-même !"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Seul un administrateur peut débloquer les membres du groupes."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Cet utilisateur n’est pas bloqué du groupe."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erreur lors de l’annulation du blocage."
 
@@ -2496,7 +2652,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publier un MicroID pour mon adresse Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Préférences enregistrées"
 
@@ -2620,10 +2776,9 @@ msgstr[1] "Vous êtes déjà abonné à ces utilisateurs :"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2813,7 +2968,8 @@ msgstr ""
 "licence « Tous droits réservés »."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Titre de licence invalide. La taille maximale est de 255 caractères."
 
 #: actions/licenseadminpanel.php:168
@@ -2992,26 +3148,20 @@ msgstr "Vous devez être connecté pour enregistrer une application."
 msgid "Use this form to register a new application."
 msgstr "Utilisez ce formulaire pour inscrire une nouvelle application."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Le nom est trop long (limité à 255 caractères maximum)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "L’URL source est requise."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "L’organisation est trop longue (limitée à 255 caractères maximum)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Impossible de créer l’application."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nouveau groupe"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Remplissez les champs ci-dessous pour créer un nouveau groupe :"
@@ -3021,14 +3171,14 @@ msgid "New message"
 msgstr "Nouveau message"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Vous ne pouvez pas envoyer de messages à cet utilisateur."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Aucun contenu !"
 
@@ -3037,7 +3187,7 @@ msgid "No recipient specified."
 msgstr "Aucun destinataire n’a été spécifié."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3049,12 +3199,12 @@ msgstr "Message envoyé"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Message direct envoyé à %s."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Erreur Ajax"
 
@@ -3062,19 +3212,7 @@ msgstr "Erreur Ajax"
 msgid "New notice"
 msgstr "Nouvel avis"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "C’est trop long ! La taille maximale de l’avis est de %d caractères."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"La taille maximale de l’avis est de %d caractères, en incluant l’URL de la "
-"pièce jointe."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Avis publié"
 
@@ -3217,25 +3355,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "L’avis n’a pas de profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Statut de %1$s sur %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Type de contenu %s non supporté."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Veuillez n'utiliser que des URL HTTP complètes en %s."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Format de données non supporté."
@@ -3248,36 +3386,46 @@ msgstr "Recherche de personnes"
 msgid "Notice Search"
 msgstr "Recherche d’avis"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Autres paramètres"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Autres options à configurer"
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (service gratuit)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Raccourcir les URL avec"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Sélectionnez un service de réduction d’URL."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Afficher les conceptions de profils"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Afficher ou masquer les paramètres de conception."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Le service de réduction d’URL est trop long (50 caractères maximum)."
 
 #: actions/otp.php:69
@@ -3705,8 +3853,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nom complet"
@@ -3746,9 +3895,10 @@ msgid "Bio"
 msgstr "Bio"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Emplacement"
@@ -4092,7 +4242,8 @@ msgid "Unexpected password reset."
 msgstr "Réinitialisation inattendue du mot de passe."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Le mot de passe doit contenir au moins 6 caractères."
 
 #: actions/recoverpassword.php:369
@@ -4341,7 +4492,7 @@ msgid "Repeated!"
 msgstr "Repris !"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Réponses à %s"
@@ -4477,11 +4628,12 @@ msgstr "Organisation"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Description"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistiques"
@@ -4499,6 +4651,11 @@ msgstr "Actions de l’application"
 msgid "Reset key & secret"
 msgstr "Réinitialiser la clé et le secret"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Supprimer"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informations sur l’application"
@@ -4592,77 +4749,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "C’est un moyen de partager ce que vous aimez."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Groupe %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Groupe %1$s, page %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Profil du groupe"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Note"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Alias"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Actions du groupe"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fil des avis du groupe %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fil des avis du groupe %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fil des avis du groupe %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "ami d’un ami pour le groupe %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membres"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(aucun)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Tous les membres"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Créé"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membres"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4678,7 +4864,10 @@ msgstr ""
 "action.register%%%%) pour devenir membre de ce groupe et bien plus ! ([En "
 "lire plus](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4691,26 +4880,33 @@ msgstr ""
 "logiciel libre [StatusNet](http://status.net/). Ses membres partagent des "
 "messages courts à propos de leur vie et leurs intérêts. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administrateurs"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Message introuvable."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 "Ce message personnel ne peut être lu que par son expéditeur et son "
 "destinataire."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Message adressé à %1$s le %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Message reçu de %1$s le %2$s"
@@ -4719,48 +4915,68 @@ msgstr "Message reçu de %1$s le %2$s"
 msgid "Notice deleted."
 msgstr "Avis supprimé."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "   marqué %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, page %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Avis marqués avec %1$s, page %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, page %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fil des avis pour %1$s marqués %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Flux des avis de %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Flux des avis de %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Flux des avis de %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "ami d’un ami pour %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 "Ceci est la chronologie de %1$s mais %2$s n’a rien publié pour le moment."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4768,7 +4984,9 @@ msgstr ""
 "Avez-vous vu quelque chose d’intéressant récemment ? Vous n’avez pas publié "
 "d’avis pour le moment, vous pourriez commencer maintenant :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4777,7 +4995,9 @@ msgstr ""
 "Vous pouvez essayer de faire un clin d’œil à %1$s ou de [poster quelque "
 "chose à son intention](%%%%action.newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4791,7 +5011,9 @@ msgstr ""
 "register%%%%) pour suivre les avis de **%s** et bien plus ! ([En lire plus](%"
 "%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4802,7 +5024,8 @@ msgstr ""
 "wikipedia.org/wiki/Microblog)  basé sur le logiciel libre [StatusNet](http://"
 "status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Reprises de %s"
@@ -4916,32 +5139,41 @@ msgstr ""
 "Combien de temps (en secondes) les utilisateurs doivent attendre pour poster "
 "la même chose de nouveau."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Avis du site"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Modifier un message portant sur tout le site"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Impossible d'enregistrer l'avis du site."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "La longueur maximale pour l'avis du site est de 255 caractères."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texte de l'avis du site"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 "Texte de l'avis portant sur tout le site (max. 255 caractères ; HTML activé)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Enregistrer l'avis du site"
 
@@ -5161,12 +5393,14 @@ msgstr "Les instantanés seront envoyés à cette URL"
 msgid "Save snapshot settings"
 msgstr "Sauvegarder les paramètres des instantanés"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Vous n’êtes pas abonné(e) à ce profil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Impossible d’enregistrer l’abonnement."
 
@@ -5410,77 +5644,95 @@ msgstr ""
 "avec la licence du site « %2$s »."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Utilisateur"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Paramètres des utilisateurs pour ce site StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite de bio invalide : doit être numérique."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Texte de bienvenue invalide. La taille maximale est de 255 caractères."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Abonnement par défaut invalide : « %1$s » n’est pas un utilisateur."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limite de bio"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Longueur maximale de la bio d’un profil en caractères."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nouveaux utilisateurs"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Accueil des nouveaux utilisateurs"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr ""
 "Texte de bienvenue pour les nouveaux utilisateurs (maximum 255 caractères)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Abonnements par défaut"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Abonner automatiquement les nouveaux utilisateurs à cet utilisateur."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitations"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Invitations activées"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 "S’il faut autoriser les utilisateurs à inviter de nouveaux utilisateurs."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Sauvegarder les paramètres utilisateur"
 
@@ -5589,11 +5841,13 @@ msgstr "Impossible de lire l’URL de l’avatar « %s »."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Format d’image invalide pour l’URL de l’avatar « %s »."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Conception de profil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5694,7 +5948,7 @@ msgid "Plugins"
 msgstr "Extensions"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Version"
 
@@ -5727,31 +5981,44 @@ msgstr "Robin pense que quelque chose est impossible."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Un fichier ne peut pas peser plus de %1$d octets et le fichier que vous avez "
+"envoyé pesait %2$d octets. Essayez d’importer une version moins lourde."
+msgstr[1] ""
 "Un fichier ne peut pas peser plus de %1$d octets et le fichier que vous avez "
 "envoyé pesait %2$d octets. Essayez d’importer une version moins lourde."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Un fichier aussi gros dépasserai votre quota utilisateur de %d octets."
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Un fichier aussi gros dépasserai votre quota utilisateur de %d octets."
+msgstr[1] ""
+"Un fichier aussi gros dépasserai votre quota utilisateur de %d octets."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Un fichier aussi gros dépasserai votre quota mensuel de %d octets."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Un fichier aussi gros dépasserai votre quota mensuel de %d octets."
+msgstr[1] "Un fichier aussi gros dépasserai votre quota mensuel de %d octets."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nom de fichier non valide."
 
@@ -5880,32 +6147,40 @@ msgid "Problem saving notice."
 msgstr "Problème lors de l’enregistrement de l’avis."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Le type renseigné pour saveKnownGroups n’est pas valable"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problème lors de l’enregistrement de la boîte de réception du groupe."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Impossible d’enregistrer la réponse à %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5914,7 +6189,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5986,32 +6261,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Bienvenue à %1$s, @%2$s !"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Aucun utilisateur unique défini pour le mode mono-utilisateur."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr "Code en mode mono-utilisateur appelé quand ce n’est pas autorisé."
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Impossible de créer le groupe."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Impossible de définir l'URI du groupe."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Impossible d’établir l’inscription au groupe."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Impossible d’enregistrer les informations du groupe local."
 
@@ -6061,194 +6336,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Page sans nom"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navigation primaire du site"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Profil personnel et flux des amis"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personnel"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Modifier votre adresse électronique, avatar, mot de passe, profil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Compte"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Se connecter aux services"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Connexion"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Modifier la configuration du site"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrer"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Inviter des amis et collègues à vous rejoindre sur %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Inviter"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Fermer la session"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Déconnexion"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Créer un compte"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "S’inscrire"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Ouvrir une session"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Connexion"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "À l’aide !"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Aide"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Rechercher des personnes ou du texte"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Rechercher"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Notice du site"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Vues locales"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Avis de la page"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navigation secondaire du site"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Aide"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "À propos"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "CGU"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Confidentialité"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Source"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contact"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Insigne"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licence du logiciel StatusNet"
 
@@ -6256,7 +6538,7 @@ msgstr "Licence du logiciel StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6266,7 +6548,7 @@ msgstr ""
 "%site.broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** est un service de micro-blogging."
@@ -6275,7 +6557,7 @@ msgstr "**%%site.name%%** est un service de micro-blogging."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6287,20 +6569,20 @@ msgstr ""
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licence du contenu du site"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Le contenu et les données de %1$s sont privés et confidentiels."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6308,7 +6590,7 @@ msgstr ""
 "réservés."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Le contenu et les données sont sous le droit d’auteur du contributeur. Tous "
@@ -6316,26 +6598,26 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 "Tous les contenus %1$s et les données sont disponibles sous la licence %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Pagination"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Après"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Avant"
 
@@ -6414,7 +6696,7 @@ msgid "User configuration"
 msgstr "Configuration utilisateur"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Utilisateur"
 
@@ -6682,7 +6964,7 @@ msgid "AJAX error"
 msgstr "Erreur Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Commande complétée"
 
@@ -6698,7 +6980,7 @@ msgstr "Aucun avis avec cet identifiant n’existe."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Aucun avis récent pour cet utilisateur."
 
@@ -6767,6 +7049,14 @@ msgstr "%1$s a rejoint le groupe %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s a quitté le groupe %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6806,118 +7096,126 @@ msgstr ""
 "%s est un profil distant ; vous ne pouvez envoyer de messages directs qu'aux "
 "utilisateurs du même serveur."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Message trop long ! La taille maximale est de %1$d caractères ; vous en avez "
+"entré %2$d."
+msgstr[1] ""
 "Message trop long ! La taille maximale est de %1$d caractères ; vous en avez "
 "entré %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Une erreur est survenue pendant l’envoi de votre message."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Avis de %s repris."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Erreur lors de la reprise de l’avis."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Avis trop long ! La taille maximale est de %1$d caractères ; vous en avez "
+"entré %2$d."
+msgstr[1] ""
 "Avis trop long ! La taille maximale est de %1$d caractères ; vous en avez "
 "entré %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Réponse à %s envoyée."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Problème lors de l’enregistrement de l’avis."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Indiquez le nom de l’utilisateur auquel vous souhaitez vous abonner."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Impossible de s'inscrire aux profils OMB par cette commande."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Abonné à %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 "Indiquez le nom de l’utilisateur duquel vous souhaitez vous désabonner."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Désabonné de %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Cette commande n’a pas encore été implémentée."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Avertissements désactivés."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Impossible de désactiver les avertissements."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Avertissements activés."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Impossible d’activer les avertissements."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "La commande d’ouverture de session est désactivée."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6926,20 +7224,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Désabonné de %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Vous n’êtes abonné(e) à personne."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Vous êtes abonné à cette personne :"
@@ -6947,14 +7245,14 @@ msgstr[1] "Vous êtes abonné à ces personnes :"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Personne ne s’est abonné à vous."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Cette personne est abonnée à vous :"
@@ -6962,21 +7260,21 @@ msgstr[1] "Ces personnes sont abonnées à vous :"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Vous n’êtes membre d’aucun groupe."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Vous êtes membre de ce groupe :"
 msgstr[1] "Vous êtes membre de ces groupes :"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7120,10 +7418,13 @@ msgstr "Applications autorisées connectées"
 msgid "Database error"
 msgstr "Erreur de la base de données"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Importer un fichier"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7131,16 +7432,29 @@ msgstr ""
 "Vous pouvez importer votre image d’arrière plan personnelle. La taille "
 "maximale du fichier est de 2 Mo."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Le serveur n’a pas pu gérer autant de données de POST (%s octets) en raison "
-"de sa configuration actuelle."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Activé"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Désactivé"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Réinitialiser"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Les paramètre par défaut de la conception ont été restaurés."
 
@@ -7168,7 +7482,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Ami d’un ami"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Flux d’informations"
 
@@ -7206,7 +7521,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL du site Web ou blogue du groupe ou sujet "
 
 #: lib/groupeditform.php:168
@@ -7214,21 +7530,32 @@ msgid "Describe the group or topic"
 msgstr "Description du groupe ou du sujet"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Description du groupe ou du sujet en %d caractères"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Description du groupe ou du sujet en %d caractères"
+msgstr[1] "Description du groupe ou du sujet en %d caractères"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Emplacement du groupe, s’il y a lieu, de la forme « Ville, État ou région, "
 "Pays »"
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Pseudos supplémentaires pour le groupe, séparés par des virgules ou des "
+"espaces, %d au maximum"
+msgstr[1] ""
 "Pseudos supplémentaires pour le groupe, séparés par des virgules ou des "
 "espaces, %d au maximum"
 
@@ -7331,39 +7658,57 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "Format de fichier d’image non supporté."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Ce fichier est trop grand. La taille maximale est %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Transfert partiel."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Erreur système lors du transfert du fichier."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Ceci n’est pas une image, ou c’est un fichier corrompu."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Fichier perdu."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Type de fichier inconnu"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "Mo"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "Mo"
+msgstr[1] "Mo"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "Ko"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "Ko"
+msgstr[1] "Ko"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7616,7 +7961,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) a ajouté votre avis à ses favoris"
@@ -7626,7 +7971,7 @@ msgstr "%1$s (@%2$s) a ajouté votre avis à ses favoris"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7665,7 +8010,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7678,7 +8023,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%1$s (@%2$s) a envoyé un avis à vote attention"
@@ -7689,7 +8034,7 @@ msgstr "%1$s (@%2$s) a envoyé un avis à vote attention"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7772,7 +8117,7 @@ msgstr "Désolé, ceci n’est pas votre adresse de courriel entrant."
 msgid "Sorry, no incoming email allowed."
 msgstr "Désolé, la réception de courriels n’est pas permise."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Type de message non supporté : %s"
@@ -7838,7 +8183,7 @@ msgstr "Impossible de déterminer le type MIME du fichier."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7849,7 +8194,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "« %s » n’est pas un type de fichier supporté sur ce serveur."
@@ -7990,31 +8335,31 @@ msgstr "Avis en doublon."
 msgid "Couldn't insert new subscription."
 msgstr "Impossible d’insérer un nouvel abonnement."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personnel"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Réponses"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoris"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Boîte de réception"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Vos messages reçus"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Boîte d’envoi"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Vos messages envoyés"
 
@@ -8120,16 +8465,17 @@ msgid "Sandbox this user"
 msgstr "Mettre cet utilisateur dans un bac à sable"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Rechercher sur le site"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Mot(s) clef(s)"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8210,6 +8556,12 @@ msgstr "Nuage de marques pour une personne"
 msgid "None"
 msgstr "Aucun"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nom de fichier non valide."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8221,8 +8573,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Le fichier de thème est manquant ou le téléversement a échoué."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "L’enregistrement du thème a échoué."
 
@@ -8231,17 +8583,22 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Thème invalide : mauvaise arborescence."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Le thème importé est trop volumineux. Non compressé, il doit occuper moins "
+"de %d octets."
+msgstr[1] ""
 "Le thème importé est trop volumineux. Non compressé, il doit occuper moins "
 "de %d octets."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Archive de thème invalide : fichier css/display.css manquant"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8249,18 +8606,18 @@ msgstr ""
 "Le thème contient un nom de fichier ou de dossier invalide. Limitez-vous aux "
 "lettres ASCII et aux chiffres, caractère de soulignement et signe moins."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "Ce thème contient un nom d'extension de ficher dangereux; peut être "
 "dangereux."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Le thème contient un fichier de type « .%s », qui n'est pas autorisé."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Erreur lors de l’ouverture de l’archive du thème."
 
@@ -8268,6 +8625,13 @@ msgstr "Erreur lors de l’ouverture de l’archive du thème."
 msgid "Top posters"
 msgstr "Utilisateurs les plus actifs"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Débloquer"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Sortir du bac à sable"
@@ -8440,16 +8804,21 @@ msgstr[1] ""
 "Message trop long ! La taille maximale est de %1$d caractères ; vous en avez "
 "envoyé %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "Fichier de sauvegarde pour l’utilisateur %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Aucun utilisateur spécifié ; utilisation de l’utilisateur de secours."
 
-#: scripts/restoreuser.php:94
-#, php-format
-msgid "%d entries in backup."
-msgstr "%d entrées dans la sauvegarde."
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
+#, fuzzy, php-format
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d entrées dans la sauvegarde."
+msgstr[1] "%d entrées dans la sauvegarde."
index 852fc62353a873e13cc773bd6d0da48b55545caf..53d56befbc88d231f851f3114694482f2e85e2c6 100644 (file)
@@ -9,18 +9,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:00+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:25+0000\n"
 "Language-Team: Irish <http://translatewiki.net/wiki/Portal:ga>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ga\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=5; plural=(n == 1) ? 0 : ( (n == 2) ? 1 : ( (n < 7) ? "
 "2 : ( (n < 11) ? 3 : 4 ) ) );\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -83,15 +83,22 @@ msgstr "Configuracións de Twitter"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 #, fuzzy
 msgctxt "BUTTON"
 msgid "Save"
@@ -124,6 +131,7 @@ msgstr "Non existe a etiqueta."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -136,14 +144,14 @@ msgstr "Non existe a etiqueta."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Ningún usuario."
@@ -160,7 +168,7 @@ msgstr "%s e amigos"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
@@ -210,7 +218,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -309,11 +319,12 @@ msgstr "Non se puido actualizar o usuario."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -327,11 +338,13 @@ msgstr "Non se puido gardar o perfil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -519,43 +532,53 @@ msgstr "Non se puido actualizar o usuario."
 msgid "Could not find target user."
 msgstr "Non se puido actualizar o usuario."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "O alcume debe ter só letras minúsculas e números, e sen espazos."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Non é un alcume válido."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "A páxina persoal semella que non é unha URL válida."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -564,10 +587,14 @@ msgstr "O nome completo é demasiado longo (max 255 car)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -578,9 +605,11 @@ msgstr[3] "O teu Bio é demasiado longo (max %d car.)."
 msgstr[4] "O teu Bio é demasiado longo (max %d car.)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -588,7 +617,12 @@ msgstr "A localización é demasiado longa (max 255 car.)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -607,15 +641,19 @@ msgstr "Etiqueta inválida: '%s'"
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, fuzzy, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -721,21 +759,21 @@ msgid "Request token already authorized."
 msgstr "Non estás suscrito a ese perfil"
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
 
@@ -752,17 +790,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Erro ó inserir o hashtag na BD: %s"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Envio de formulario non esperada."
 
@@ -806,9 +846,10 @@ msgstr "Sobre"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -902,21 +943,22 @@ msgstr "Non deberías eliminar o estado de outro usuario"
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Ningún chío."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 #, fuzzy
 msgid "Cannot repeat your own notice."
 msgstr "Non se pode activar a notificación."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Non se pode eliminar este chíos."
 
@@ -938,7 +980,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -956,7 +999,7 @@ msgstr "Método da API non atopado"
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1065,106 +1108,140 @@ msgstr "Método da API en contrución."
 msgid "User not found."
 msgstr "Método da API non atopado"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Non existe a etiqueta."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Sen alcume."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Sen tamaño."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Tamaño inválido."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, fuzzy, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Podes actualizar a túa información do perfil persoal aquí"
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "O usuario non ten perfil."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configuración de perfil"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr ""
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr ""
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Eliminar chío"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Subir"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr ""
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 #, fuzzy
 msgid "No file uploaded."
 msgstr "Non se especificou ningún perfil."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar actualizado."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Acounteceu un fallo ó actualizar o avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 #, fuzzy
 msgid "Avatar deleted."
 msgstr "Avatar actualizado."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Xa estas suscrito a estes usuarios:"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquear usuario"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1180,8 +1257,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 #, fuzzy
 msgctxt "BUTTON"
@@ -1190,7 +1267,7 @@ msgstr "No"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 #, fuzzy
 msgid "Do not block this user"
 msgstr "Bloquear usuario"
@@ -1201,8 +1278,8 @@ msgstr "Bloquear usuario"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 #, fuzzy
 msgctxt "BUTTON"
@@ -1211,146 +1288,176 @@ msgstr "Si"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 #, fuzzy
 msgid "Block this user"
 msgstr "Bloquear usuario"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Erro ao gardar información de bloqueo."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 #, fuzzy
 msgid "No such group."
 msgstr "Non existe a etiqueta."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr ""
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, fuzzy, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%s e amigos"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr ""
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 #, fuzzy
 msgid "Unblock user from group"
 msgstr "Desbloqueo de usuario fallido."
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloquear"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 #, fuzzy
 msgid "Unblock this user"
 msgstr "Bloquear usuario"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Replies to %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Sen código de confirmación."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Confirmation code not found."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "¡Ese código de confirmación non é para ti!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo de enderezo %s non recoñecido"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Esa dirección xa foi confirmada."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Non se puido actualizar o usuario."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Non se pode eliminar a confirmación de email."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Direccións de correo confirmadas actualmente."
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "A dirección \"%s\" xa foi confirmada para a túa conta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 #, fuzzy
 msgid "Conversation"
 msgstr "Código de confirmación."
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Chíos"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 #, fuzzy
 msgid "You must be logged in to delete an application."
 msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Confirmation code not found."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 #, fuzzy
 msgid "You are not the owner of this application."
@@ -1359,17 +1466,20 @@ msgstr "Non estás suscrito a ese perfil"
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 #, fuzzy
 msgid "There was a problem with your session token."
 msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 #, fuzzy
 msgid "Delete application"
 msgstr "Ningún chío."
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1377,13 +1487,13 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 #, fuzzy
 msgid "Do not delete this application"
 msgstr "Non se pode eliminar este chíos."
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 #, fuzzy
 msgid "Delete this application"
 msgstr "Eliminar chío"
@@ -1421,13 +1531,14 @@ msgstr "Non se puido actualizar o usuario."
 msgid "Deleted group %s"
 msgstr "Estado de %1$s en  %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Eliminar chío"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1447,22 +1558,27 @@ msgstr "Non se pode eliminar este chíos."
 msgid "Delete this group"
 msgstr "Eliminar chío"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Non está logueado."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Non se pode eliminar este chíos."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 #, fuzzy
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
@@ -1471,22 +1587,25 @@ msgstr ""
 "Vas a eliminar permanentemente este chío. Unha vez feito, xa non hai volta "
 "atrás... Quedas avisado!"
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Eliminar chío"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Estas seguro que queres eliminar este chío?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 #, fuzzy
 msgid "Do not delete this notice"
 msgstr "Non se pode eliminar este chíos."
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 #, fuzzy
 msgid "Delete this notice"
 msgstr "Eliminar chío"
@@ -1579,12 +1698,14 @@ msgstr "Novo chío"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr ""
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr ""
 
@@ -1596,43 +1717,51 @@ msgid ""
 msgstr "Podes actualizar a túa información do perfil persoal aquí"
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr ""
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr ""
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr ""
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr ""
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 #, fuzzy
 msgid "Change colours"
 msgstr "Cambiar contrasinal"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 #, fuzzy
 msgid "Content"
 msgstr "Conectar"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 #, fuzzy
 msgid "Sidebar"
 msgstr "Buscar"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Inicio de sesión"
 
@@ -1644,29 +1773,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr ""
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr ""
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Gardar"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr ""
 
@@ -1716,9 +1847,9 @@ msgid "Name is required."
 msgstr "A mesma contrasinal que arriba. Requerido."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "O nome completo é demasiado longo (max 255 car)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1749,7 +1880,7 @@ msgid "Organization is required."
 msgstr ""
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "A localización é demasiado longa (max 255 car.)."
@@ -1774,53 +1905,53 @@ msgstr ""
 msgid "Could not update application."
 msgstr "Non se puido actualizar o usuario."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr ""
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 #, fuzzy
 msgid "You must be logged in to create a group."
 msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 #, fuzzy
 msgid "You must be an admin to edit the group."
 msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr ""
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "O teu Bio é demasiado longo (max %d car.)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, fuzzy, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Etiqueta inválida: '%s'"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 #, fuzzy
 msgid "Could not update group."
 msgstr "Non se puido actualizar o usuario."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 #, fuzzy
 msgid "Could not create aliases."
 msgstr "Non se puido crear o favorito."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 #, fuzzy
 msgid "Options saved."
 msgstr "Configuracións gardadas."
@@ -2020,6 +2151,12 @@ msgstr "Non hai ningunha confirmación pendente para cancelar."
 msgid "That is the wrong email address."
 msgstr "Esa é unha enderezo IM incorrecto."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Non se pode eliminar a confirmación de email."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2098,7 +2235,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Chíos favoritos de %s"
@@ -2202,19 +2339,23 @@ msgstr "Tes restrinxido o envio de chíos neste sitio."
 msgid "User already has this role."
 msgstr "O usuario non ten perfil."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Non se especificou ningún perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Non se atopou un perfil con ese ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 #, fuzzy
 msgid "No group specified."
@@ -2283,8 +2424,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 #, fuzzy
 msgid "Couldn't update your design."
 msgstr "Non se puido actualizar o usuario."
@@ -2304,6 +2447,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "Podes actualizar a túa información do perfil persoal aquí"
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Subir"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr ""
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2441,16 +2592,19 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 #, fuzzy
 msgid "User is not blocked from group."
 msgstr "O usuario bloqueoute."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Acounteceu un erro borrando o bloqueo."
 
@@ -2539,7 +2693,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar unha MicroID dende a miña dirección de Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferencias gardadas."
 
@@ -2667,10 +2821,9 @@ msgstr[4] "Xa estas suscrito a estes usuarios:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2866,8 +3019,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "A localización é demasiado longa (max 255 car.)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -3044,29 +3198,21 @@ msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
 msgid "Use this form to register a new application."
 msgstr ""
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "O nome completo é demasiado longo (max 255 car)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr ""
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "A localización é demasiado longa (max 255 car.)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 #, fuzzy
 msgid "Could not create application."
 msgstr "Non se puido crear o favorito."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr ""
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr ""
@@ -3076,14 +3222,14 @@ msgid "New message"
 msgstr "Nova mensaxe"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Non podes enviar mensaxes a este usurio."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Sen contido!"
 
@@ -3092,7 +3238,7 @@ msgid "No recipient specified."
 msgstr "Non se especificou ningún destinatario"
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3106,12 +3252,12 @@ msgstr "Non hai mensaxes de texto!"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "Mensaxe directo a %s enviado"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Erro de Ajax"
 
@@ -3119,17 +3265,7 @@ msgstr "Erro de Ajax"
 msgid "New notice"
 msgstr "Novo chío"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Podes actualizar a túa información do perfil persoal aquí"
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Chío publicado"
 
@@ -3268,25 +3404,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "O usuario non ten perfil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Estado de %1$s en  %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "Conectar"
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Non é un formato de datos soportado."
@@ -3299,37 +3435,47 @@ msgstr "Procurar xente"
 msgid "Notice Search"
 msgstr "Procura de Chíos"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Outras opcions"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Xestionár axustes varios."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Servizo de acortado automático a usar."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 #, fuzzy
 msgid "View profile designs"
 msgstr "Configuración de perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Sistema de acortamento de URLs demasiado longo (max 50 car.)."
 
 #: actions/otp.php:69
@@ -3778,8 +3924,9 @@ msgstr ""
 "De 1 a 64 letras minúsculas ou númeors, nin espazos nin signos de puntuación"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nome completo"
@@ -3823,9 +3970,10 @@ msgid "Bio"
 msgstr "Bio"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Localización"
@@ -4172,7 +4320,8 @@ msgid "Unexpected password reset."
 msgstr "Restauración de contrasinal non esperada."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "A contrasinal debe ter 6 caracteres ou máis."
 
 #: actions/recoverpassword.php:369
@@ -4424,7 +4573,7 @@ msgid "Repeated!"
 msgstr "Crear"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Replies to %s"
@@ -4558,12 +4707,13 @@ msgstr "Invitación(s) enviada(s)."
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 #, fuzzy
 msgid "Description"
 msgstr "Subscricións"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Estatísticas"
@@ -4581,6 +4731,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Eliminar chío"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4665,81 +4820,110 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr ""
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, fuzzy, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Tódalas subscricións"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "O usuario non ten perfil."
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr ""
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 #, fuzzy
 msgid "Note"
 msgstr "Chíos"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 #, fuzzy
 msgid "Group actions"
 msgstr "Outras opcions"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fonte para os amigos de %s"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fonte para os amigos de %s"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, fuzzy, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fonte de chíos para %s"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, fuzzy, php-format
 msgid "FOAF for %s group"
 msgstr "Band. Saída para %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 #, fuzzy
 msgid "Members"
 msgstr "Membro dende"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 #, fuzzy
 msgid "(None)"
 msgstr "(nada)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr ""
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Destacado"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membro dende"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4753,7 +4937,10 @@ msgstr ""
 "(http://status.net/). [Únete agora](%%action.register%%) para compartir "
 "chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4766,24 +4953,31 @@ msgstr ""
 "(http://status.net/). [Únete agora](%%action.register%%) para compartir "
 "chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr ""
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Non existe a mensaxe."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Só o emisor e destinatario poden ler esta mensaxe."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensaxe de %1$s en %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensaxe dende %1$s en %2$s"
@@ -4793,60 +4987,84 @@ msgstr "Mensaxe dende %1$s en %2$s"
 msgid "Notice deleted."
 msgstr "Chío publicado"
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s"
+msgstr "%1$s (%2$s)"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "Chíos tagueados con %s"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s (%2$s)"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fonte para os amigos de %s"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Fonte para os amigos de %s"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Fonte para os amigos de %s"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Fonte para os amigos de %s"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "Band. Saída para %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4859,7 +5077,9 @@ msgstr ""
 "(http://status.net/). [Únete agora](%%action.register%%) para compartir "
 "chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4871,7 +5091,8 @@ msgstr ""
 "(http://status.net/). [Únete agora](%%action.register%%) para compartir "
 "chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "Replies to %s"
@@ -4987,33 +5208,40 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Chíos"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Nova mensaxe"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Non se puideron gardar os teus axustes de Twitter!"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Eliminar chío"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Eliminar chío"
 
@@ -5234,12 +5462,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Configuracións de Twitter"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Non estás suscrito a ese perfil"
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Non se pode gardar a subscrición."
 
@@ -5476,83 +5706,100 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 #, fuzzy
 msgctxt "TITLE"
 msgid "User"
 msgstr "Usuario"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 #, fuzzy
 msgid "New users"
 msgstr "Invitar a novos usuarios"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "O nome completo é demasiado longo (max 255 car)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Tódalas subscricións"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "Suscribirse automáticamente a calquera que se suscriba a min (o mellor para "
 "non humáns)"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 #, fuzzy
 msgid "Invitations"
 msgstr "Invitación(s) enviada(s)."
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 #, fuzzy
 msgid "Invitations enabled"
 msgstr "Invitación(s) enviada(s)."
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5665,12 +5912,14 @@ msgstr "Non se pode ler a URL do avatar de '%s'"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imaxe incorrecto para '%s'"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Configuración de perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5755,7 +6004,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 #, fuzzy
 msgid "Version"
 msgstr "Persoal"
@@ -5789,29 +6038,47 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "Tamaño inválido."
@@ -5949,40 +6216,47 @@ msgid "Problem saving notice."
 msgstr "Aconteceu un erro ó gardar o chío."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "Aconteceu un erro ó gardar o chío."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Non se pode gardar a subscrición."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -6056,34 +6330,34 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Mensaxe de %1$s en %2$s"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 #, fuzzy
 msgid "Could not create group."
 msgstr "Non se puido crear o favorito."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Non se poden gardar as etiquetas."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 #, fuzzy
 msgid "Could not set group membership."
 msgstr "Non se pode gardar a subscrición."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "Non se pode gardar a subscrición."
@@ -6136,51 +6410,57 @@ msgstr "%1$s (%2$s)"
 msgid "Untitled page"
 msgstr ""
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 #, fuzzy
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Persoal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Cambiar contrasinal"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 #, fuzzy
 msgid "Account"
 msgstr "Sobre"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Non se pode redireccionar ao servidor: %s"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Conectar"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
@@ -6188,13 +6468,13 @@ msgstr "Navegación de subscricións"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, fuzzy, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
@@ -6203,74 +6483,74 @@ msgstr ""
 "este servizo."
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Invitar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr ""
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 #, fuzzy
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Sair"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Crear nova conta"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 #, fuzzy
 msgctxt "MENU"
 msgid "Register"
 msgstr "Rexistrar"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr ""
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 #, fuzzy
 msgctxt "MENU"
 msgid "Login"
 msgstr "Inicio de sesión"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Axuda"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 #, fuzzy
 msgctxt "MENU"
 msgid "Help"
 msgstr "Axuda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr ""
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 #, fuzzy
 msgctxt "MENU"
 msgid "Search"
@@ -6278,70 +6558,71 @@ msgstr "Buscar"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 #, fuzzy
 msgid "Site notice"
 msgstr "Novo chío"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr ""
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 #, fuzzy
 msgid "Page notice"
 msgstr "Novo chío"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Navegación de subscricións"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Axuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Sobre"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Preguntas frecuentes"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacidade"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Fonte"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contacto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr ""
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr ""
 
@@ -6349,7 +6630,7 @@ msgstr ""
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6359,7 +6640,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** é un servizo de microbloguexo."
@@ -6368,7 +6649,7 @@ msgstr "**%%site.name%%** é un servizo de microbloguexo."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6380,51 +6661,51 @@ msgstr ""
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 #, fuzzy
 msgid "Site content license"
 msgstr "Atopar no contido dos chíos"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr ""
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Outros"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 #, fuzzy
 msgid "Before"
 msgstr "Antes »"
@@ -6514,7 +6795,7 @@ msgid "User configuration"
 msgstr "Confirmación de SMS"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Usuario"
 
@@ -6791,7 +7072,7 @@ msgid "AJAX error"
 msgstr "Erro de Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Comando completo"
 
@@ -6808,7 +7089,7 @@ msgstr "Non se atopou un perfil con ese ID."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "O usuario non ten último chio."
@@ -6878,6 +7159,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6915,130 +7204,150 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[1] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[2] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[3] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[4] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Erro ó enviar a mensaxe directa."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Chío publicado"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Acounteceu un erro configurando o usuario."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[1] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[2] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[3] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+msgstr[4] ""
+"Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "Non se pode eliminar este chíos."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Aconteceu un erro ó gardar o chío."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "Especifica o nome do usuario ó que queres suscribirte"
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Non estás suscrito a ese perfil"
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Especifica o nome de usuario ó que queres deixar de seguir"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Comando non implementado."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notificación desactivada."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "No se pode desactivar a notificación."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notificación habilitada."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Non se pode activar a notificación."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "Non estás suscrito a ese perfil"
@@ -7046,7 +7355,7 @@ msgstr "Non estás suscrito a ese perfil"
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Xa estas suscrito a estes usuarios:"
@@ -7057,7 +7366,7 @@ msgstr[4] ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Outro usuario non se puido suscribir a ti."
@@ -7065,7 +7374,7 @@ msgstr "Outro usuario non se puido suscribir a ti."
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Outro usuario non se puido suscribir a ti."
@@ -7076,7 +7385,7 @@ msgstr[4] ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 #, fuzzy
 msgid "You are not a member of any groups."
 msgstr "Non estás suscrito a ese perfil"
@@ -7084,7 +7393,7 @@ msgstr "Non estás suscrito a ese perfil"
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Non estás suscrito a ese perfil"
@@ -7094,7 +7403,7 @@ msgstr[3] ""
 msgstr[4] ""
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 #, fuzzy
 msgid ""
 "Commands:\n"
@@ -7227,25 +7536,41 @@ msgstr ""
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 #, fuzzy
 msgid "Upload file"
 msgstr "Subir"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 #, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "Podes actualizar a túa información do perfil persoal aquí"
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr ""
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
 msgstr ""
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Restaurar"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -7273,7 +7598,8 @@ msgstr ""
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7314,7 +7640,7 @@ msgstr ""
 
 #: lib/groupeditform.php:163
 #, fuzzy
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "Enderezo da túa páxina persoal, blogue, ou perfil noutro sitio"
 
 #: lib/groupeditform.php:168
@@ -7324,19 +7650,33 @@ msgstr "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
+msgstr[1] "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
+msgstr[2] "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
+msgstr[3] "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
+msgstr[4] "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 #, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "¿Onde estas, coma \"Cidade, Provincia, País\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7436,40 +7776,67 @@ msgstr "Esta páxina non está dispoñíbel no tipo de medio que aceptas"
 msgid "Unsupported image file format."
 msgstr "Formato de ficheiro de imaxe non soportado."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Podes actualizar a túa información do perfil persoal aquí"
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Carga parcial."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Aconteceu un erro no sistema namentras se estaba cargando o ficheiro."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Non é unha imaxe ou está corrupta."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Ningún chío."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 #, fuzzy
 msgid "Unknown file type"
 msgstr "tipo de ficheiro non soportado"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr ""
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr ""
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7713,7 +8080,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "Enviar un correo cando alguen enganda un chío meu coma favorito."
@@ -7723,7 +8090,7 @@ msgstr "Enviar un correo cando alguen enganda un chío meu coma favorito."
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, fuzzy, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7757,7 +8124,7 @@ msgstr ""
 "%5$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7767,7 +8134,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7778,7 +8145,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7836,7 +8203,7 @@ msgstr "Ise é un enderezo IM incorrecto."
 msgid "Sorry, no incoming email allowed."
 msgstr "Aivá, non se permiten correos entrantes."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Formato de ficheiro de imaxe non soportado."
@@ -7898,7 +8265,7 @@ msgstr "Non se puido eliminar o favorito."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7907,7 +8274,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -8059,31 +8426,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Non se puido inserir a nova subscrición."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Persoal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respostas"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoritos"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Band. Entrada"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "As túas mensaxes entrantes"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Band. Saída"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "As túas mensaxes enviadas"
 
@@ -8200,17 +8567,18 @@ msgid "Sandbox this user"
 msgstr "Bloquear usuario"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 #, fuzzy
 msgid "Search site"
 msgstr "Buscar"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8298,6 +8666,12 @@ msgstr ""
 msgid "None"
 msgstr "No"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Tamaño inválido."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8307,8 +8681,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Acounteceu un fallo ó actualizar o avatar."
@@ -8319,29 +8693,35 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Acounteceu un erro borrando o bloqueo."
 
@@ -8349,6 +8729,13 @@ msgstr "Acounteceu un erro borrando o bloqueo."
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloquear"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8544,17 +8931,25 @@ msgstr[3] ""
 msgstr[4] ""
 "Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Non se especificou ningún perfil."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
index e321affb72d0baf8da2cd9cde9369e9aed57218d..dcaaae0ac21b31b20b09f4f41bce078623730a8e 100644 (file)
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:02+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:19+0000\n"
 "Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: gl\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -78,15 +78,22 @@ msgstr "Gardar a configuración de acceso"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Gardar"
@@ -117,6 +124,7 @@ msgstr "Esa páxina non existe."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -129,14 +137,14 @@ msgstr "Esa páxina non existe."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Non existe tal usuario."
@@ -153,7 +161,7 @@ msgstr "%1$s e amigos, páxina %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
@@ -209,7 +217,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -309,11 +319,12 @@ msgstr "Non se puido actualizar o usuario."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -326,11 +337,13 @@ msgstr "Non se puido gardar o perfil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -507,9 +520,11 @@ msgstr "Non se puido determinar o usuario de orixe."
 msgid "Could not find target user."
 msgstr "Non se puido atopar o usuario de destino."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -517,35 +532,43 @@ msgstr ""
 "en branco."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Ese alcume xa está en uso. Probe con outro."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "O formato do alcume non é correcto."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "O URL da páxina persoal non é correcto."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -554,10 +577,14 @@ msgstr "O nome completo é longo de máis (o máximo son 255 caracteres)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -565,9 +592,11 @@ msgstr[0] "A descrición é longa de máis (o máximo son %d caracteres)."
 msgstr[1] "A descrición é longa de máis (o máximo son %d caracteres)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -575,7 +604,12 @@ msgstr "A localidade é longa de máis (o máximo son 255 caracteres)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -591,15 +625,19 @@ msgstr "Pseudónimo incorrecto: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "O pseudónimo \"%s\" xa se está a usar. Proba con outro."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "O pseudónimo non pode coincidir co alcume."
 
@@ -705,21 +743,21 @@ msgid "Request token already authorized."
 msgstr "Non está autorizado."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Houbo un erro co seu pase. Inténteo de novo."
 
@@ -737,17 +775,19 @@ msgstr ""
 "OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Envío de formulario inesperado."
 
@@ -797,9 +837,10 @@ msgstr "Conta"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -893,20 +934,21 @@ msgstr "Non pode borrar o estado doutro usuario."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Non existe tal nota."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Non pode repetir a súa propia nota."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Xa repetiu esa nota."
 
@@ -927,7 +969,8 @@ msgstr "O cliente debe proporcionar un parámetro de \"estado\" cun valor."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -942,7 +985,7 @@ msgstr "Non se atopou o método da API."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1052,31 +1095,42 @@ msgstr "Método API en desenvolvemento."
 msgid "User not found."
 msgstr "Non se atopou o método da API."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Non existe tal dato adxunto."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Sen alcume."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Sen tamaño."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Tamaño non válido."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
@@ -1084,74 +1138,98 @@ msgstr ""
 "Pode cargar o seu avatar personalizado. O tamaño máximo para o ficheiro é de "
 "%s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "O usuario non ten perfil."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configuración do avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Orixinal"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Vista previa"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Borrar"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Cargar"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Recortar"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Non se subiu ficheiro ningún."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Escolla unha zona cadrada da imaxe para usala como avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Perdéronse os datos do ficheiro."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Actualizouse o avatar."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Non se puido actualizar o avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Borrouse o avatar."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Xa bloqueou ese usuario."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquear o usuario"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1167,8 +1245,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1176,7 +1254,7 @@ msgstr "Non"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Non bloquear este usuario"
 
@@ -1186,8 +1264,8 @@ msgstr "Non bloquear este usuario"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1195,140 +1273,170 @@ msgstr "Si"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloquear este usuario"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Non se puido gardar a información do bloqueo."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Non existe tal grupo."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s perfís bloqueados"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s perfís bloqueados, páxina %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Unha lista de usuarios bloqueados fronte á unión a este grupo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Desbloquear o usuario do grupo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloquear"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Desbloquear este usuario"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publicar en %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Sen código de confirmación."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Non se atopou o código de confirmación."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Ese código de confirmación non é para vostede!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Non se recoñeceu o tipo de enderezo %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Ese enderezo xa se confirmou."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Non se puido actualizar o usuario."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Non se puido borrar a confirmación por correo electrónico."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Non se puido borrar a confirmación por mensaxería instantánea."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmar o enderezo"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Confirmouse o enderezo \"%s\" para a súa conta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversa"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notas"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Ten que iniciar sesión para borrar unha aplicación."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Non se atopou a aplicación."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Non é o dono desa aplicación."
@@ -1336,15 +1444,18 @@ msgstr "Non é o dono desa aplicación."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Houbo un problema co seu pase."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Borrar a aplicación"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1355,12 +1466,12 @@ msgstr ""
 "usuario existentes."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Non borrar a aplicación"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Borrar a aplicación"
 
@@ -1396,13 +1507,14 @@ msgstr "Non se puido actualizar o grupo."
 msgid "Deleted group %s"
 msgstr "%1$s deixou o grupo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Borrar o usuario"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1425,22 +1537,27 @@ msgstr "Non borrar esta nota"
 msgid "Delete this group"
 msgstr "Borrar o usuario"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Non iniciou sesión."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Non se pode borrar esta nota."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1448,21 +1565,24 @@ msgstr ""
 "Está a piques de borrar unha nota definitivamente. Unha vez feito, non se "
 "poderá recuperar."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Borrar a nota"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Está seguro de querer borrar esta nota?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Non borrar esta nota"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Borrar esta nota"
 
@@ -1530,7 +1650,7 @@ msgstr "Logo do sitio"
 
 #: actions/designadminpanel.php:469
 msgid "Change theme"
-msgstr "Cambar o tema visual"
+msgstr "Cambiar o tema visual"
 
 #: actions/designadminpanel.php:486
 msgid "Site theme"
@@ -1549,12 +1669,14 @@ msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 "Pode cargar como arquivo .ZIP un tema visual personalizado para StatusNet"
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Cambiar a imaxe de fondo"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fondo"
 
@@ -1568,40 +1690,48 @@ msgstr ""
 "ficheiro é de %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Activado"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Desactivado"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Activar ou desactivar a imaxe de fondo."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Imaxe de fondo en mosaico"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Cambiar as cores"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Contido"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra lateral"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Ligazóns"
 
@@ -1613,29 +1743,31 @@ msgstr "Avanzado"
 msgid "Custom CSS"
 msgstr "CSS personalizado"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Utilizar os valores por defecto"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaurar o deseño por defecto"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Volver ao deseño por defecto"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Gardar"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Gardar o deseño"
 
@@ -1679,9 +1811,9 @@ msgid "Name is required."
 msgstr "Fai falla un nome."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "O nome é longo de máis (o límite é de 255 caracteres)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1710,7 +1842,7 @@ msgid "Organization is required."
 msgstr "Fai falla unha organización."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "A organización é longa de máis (o límite é de 255 caracteres)."
@@ -1734,49 +1866,49 @@ msgstr "O URL do retorno de chamada é incorrecto."
 msgid "Could not update application."
 msgstr "Non se puido actualizar a aplicación."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Editar o grupo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Ten que iniciar sesión para crear un grupo."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Ten que ser administrador para editar o grupo."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Utilice este formulario para editar o grupo."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "A descrición é longa de máis (o máximo son %d caracteres)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Demasiados pseudónimos! O número máximo é %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Pseudónimo inválido: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Non se puido actualizar o grupo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Non se puideron crear os pseudónimos."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Gardáronse as preferencias."
 
@@ -1975,6 +2107,12 @@ msgstr "Non hai ningunha confirmación pendente que cancelar."
 msgid "That is the wrong email address."
 msgstr "Ese enderezo de correo electrónico é incorrecto."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Non se puido borrar a confirmación por correo electrónico."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2056,7 +2194,7 @@ msgstr ""
 "engadir unha nota aos seus favoritos?"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Notas favoritas de %s"
@@ -2153,19 +2291,23 @@ msgstr "Non pode concederlles roles aos usuarios neste sitio."
 msgid "User already has this role."
 msgstr "O usuario xa ten este rol."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Non se especificou ningún perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Ningún perfil ten esa ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Non se especificou ningún grupo."
@@ -2231,8 +2373,10 @@ msgstr ""
 "Personaliza o aspecto do grupo cunha imaxe de fondo e unha paleta de cores "
 "da súa escolla."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Non se puido actualizar o seu deseño."
 
@@ -2252,6 +2396,14 @@ msgstr ""
 "Pode cargar un logo para o seu grupo. O tamaño máximo para o ficheiro é de %"
 "s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Cargar"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Recortar"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Escolla unha zona cadrada da imaxe para usala como logo."
@@ -2393,15 +2545,18 @@ msgstr ""
 "Por que non [rexistrar unha conta](%%action.register%%) e [crear o grupo](%%"
 "action.newgroup%%)?"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Só os administradores poden readmitir a membros do grupo."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "O usuario non está excluído do grupo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Houbo un erro ao facer efectiva a readmisión."
 
@@ -2492,7 +2647,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar unha MicroID para o meu enderezo de Jabber ou GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Gardáronse as preferencias."
 
@@ -2616,10 +2771,9 @@ msgstr[1] "Xa está subscrito aos seguintes usuarios:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2805,7 +2959,8 @@ msgstr ""
 "os dereitos reservados\"."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Título de licenza incorrecto. A extensión máxima é de 255 caracteres."
 
 #: actions/licenseadminpanel.php:168
@@ -2983,28 +3138,20 @@ msgstr "Ten que identificarse para rexistrar unha aplicación."
 msgid "Use this form to register a new application."
 msgstr "Utilice o seguinte formulario para rexistrar unha aplicación nova."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "O nome é longo de máis (o límite é de 255 caracteres)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Necesítase o URL de orixe."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "A organización é longa de máis (o límite é de 255 caracteres)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Non se puido crear a aplicación."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Novo grupo"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Utilice o seguinte formulario para crear un novo grupo."
@@ -3014,14 +3161,14 @@ msgid "New message"
 msgstr "Mensaxe nova"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Non pode enviarlle unha mensaxe a este usuario."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Non hai contido ningún!"
 
@@ -3030,7 +3177,7 @@ msgid "No recipient specified."
 msgstr "Non se especificou ningún destinatario."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Non se envíe unha mensaxe, limítese a pensar nela."
@@ -3041,12 +3188,12 @@ msgstr "Enviouse a mensaxe"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Enviouse a mensaxe directa a %s."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Houbo un erro de AJAX"
 
@@ -3054,19 +3201,7 @@ msgstr "Houbo un erro de AJAX"
 msgid "New notice"
 msgstr "Nova nota"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Iso é longo de máis. A nota non pode exceder os %d caracteres."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"A lonxitude máxima das notas é de %d caracteres, incluído o URL do dato "
-"adxunto."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Publicouse a nota"
 
@@ -3205,25 +3340,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Non hai perfil para a nota."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Estado de %1$s en %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Non se soporta o tipo de contido %s."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Só %s enderezos URL sobre HTTP simple."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Non se soporta ese formato de datos."
@@ -3236,36 +3371,46 @@ msgstr "Busca de xente"
 msgid "Notice Search"
 msgstr "Busca de notas"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Outras opcións"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Configure outras tantas opcións."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (servizo gratuíto)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Abreviar os enderezos URL con"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Servizo de abreviación automática a usar."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Deseños visuais do perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Amosar ou agochar os deseños do perfil."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr ""
 "O servizo de abreviación de enderezos URL é longo de máis (o límite está en "
 "50 caracteres)."
@@ -3714,8 +3859,9 @@ msgstr ""
 "espazos, tiles ou eñes"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nome completo"
@@ -3755,9 +3901,10 @@ msgid "Bio"
 msgstr "Biografía"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Lugar"
@@ -4105,7 +4252,8 @@ msgid "Unexpected password reset."
 msgstr "Restablecemento de contrasinal inesperado."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "O contrasinal debe ter seis ou máis caracteres."
 
 #: actions/recoverpassword.php:369
@@ -4353,7 +4501,7 @@ msgid "Repeated!"
 msgstr "Repetida!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostas a %s"
@@ -4486,11 +4634,12 @@ msgstr "Organización"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Descrición"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Estatísticas"
@@ -4508,6 +4657,11 @@ msgstr "Accións da aplicación"
 msgid "Reset key & secret"
 msgstr "Restablecer o contrasinal ou a pregunta secreta"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Borrar"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Información da aplicación"
@@ -4602,77 +4756,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Isto é un modo de compartir o que lle gusta."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupo %1$s, páxina %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Perfil do grupo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Nota"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Pseudónimos"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Accións do grupo"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fonte de novas das notas do grupo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fonte de novas das notas do grupo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fonte de novas das notas do grupo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Amigo dun amigo para o grupo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membros"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Ningún)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Todos os membros"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Creado"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membros"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4688,7 +4871,10 @@ msgstr ""
 "[Únase agora](%%%%action.register%%%%) para pasar a formar parte deste grupo "
 "e de moitos máis! ([Máis información](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4701,24 +4887,31 @@ msgstr ""
 "baseado na ferramenta de software libre [StatusNet](http://status.net/). Os "
 "seus membros comparten mensaxes curtas sobre as súas vidas e intereses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administradores"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Non se atopou esa mensaxe."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Esta mensaxe só a poden ler o destinatario e mais o remitente."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensaxe a %1$s en %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensaxe de %1$s en %2$s"
@@ -4727,47 +4920,67 @@ msgstr "Mensaxe de %1$s en %2$s"
 msgid "Notice deleted."
 msgstr "Borrouse a nota."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " etiquetouse %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, páxina %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Notas etiquetadas con %1$s, páxina %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, páxina %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fonte de novas das notas para %1$s etiquetadas con %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Fonte de novas das notas para %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Fonte de novas das notas para %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Fonte de novas das notas para %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "Amigo dun amigo para %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Esta é a liña do tempo para %1$s pero %2$s aínda non publicou nada."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4775,7 +4988,9 @@ msgstr ""
 "Viu algo interesante hoxe? Aínda non publicou ningunha nota, este sería un "
 "bo momento para comezar :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4784,7 +4999,9 @@ msgstr ""
 "Pode probar a facerlle un aceno a %1$s ou [publicar algo dirixido a el ou "
 "ela](%%%%action.newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4798,7 +5015,9 @@ msgstr ""
 "[Únase agora](%%%%action.register%%%%) para seguir as notas de **%s** e de "
 "moita máis xente! ([Máis información](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4809,7 +5028,8 @@ msgstr ""
 "blogue curtas](http://en.wikipedia.org/wiki/Microblogging) (en inglés) "
 "baseado na ferramenta de software libre [StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repeticións de %s"
@@ -4925,32 +5145,41 @@ msgstr ""
 "Tempo (en segundos) que teñen que agardar os usuarios para publicar unha "
 "nota de novo."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Nota do sitio"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Editar a mensaxe global do sitio"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Non se puido gardar a nota do sitio."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "O tamaño máximo da nota global do sitio é de 255 caracteres."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto da nota do sitio"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 "Texto da nota global do sitio (255 caracteres como máximo, pode conter HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Gardar a nota do sitio"
 
@@ -5168,12 +5397,14 @@ msgstr "As instantáneas enviaranse a este URL"
 msgid "Save snapshot settings"
 msgstr "Gardar a configuración das instantáneas"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Non está subscrito a ese perfil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Non se puido gardar a subscrición."
 
@@ -5416,75 +5647,93 @@ msgstr ""
 "licenza deste sitio: \"%2$s\"."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Usuario"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Configuración de usuario para este sitio StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Límite da biografía incorrecto. Debe ser numérico."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Texto de benvida incorrecto. A extensión máxima é de 255 caracteres."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Subscrición por defecto incorrecta. \"%1$s\" non é un usuario."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Límite da biografía"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Extensión máxima da biografía dun perfil en caracteres."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Novos usuarios"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Nova benvida para os usuarios"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Texto de benvida para os novos usuarios (255 caracteres como máximo)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Subscrición por defecto"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Subscribir automaticamente aos novos usuarios a este usuario."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitacións"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Activáronse as invitacións"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Permitir ou non que os usuarios poidan invitar a novos usuarios."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Gardar a configuración do usuario"
 
@@ -5592,11 +5841,13 @@ msgstr "Non se puido ler o URL do avatar, \"%s\"."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "O tipo de imaxe do URL do avatar, \"%s\", é incorrecto."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Deseño do perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5695,7 +5946,7 @@ msgid "Plugins"
 msgstr "Complementos"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versión"
 
@@ -5728,32 +5979,44 @@ msgstr "Robin pensa que algo é imposible."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Ningún ficheiro pode superar os %1$d bytes e o que enviou ocupaba %2$d. "
+"Probe a subir un ficheiro máis pequeno."
+msgstr[1] ""
 "Ningún ficheiro pode superar os %1$d bytes e o que enviou ocupaba %2$d. "
 "Probe a subir un ficheiro máis pequeno."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Un ficheiro deste tamaño excedería a súa cota de usuario, que é de %d bytes."
+msgstr[1] ""
 "Un ficheiro deste tamaño excedería a súa cota de usuario, que é de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Un ficheiro deste tamaño excedería a súa cota mensual de %d bytes."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Un ficheiro deste tamaño excedería a súa cota mensual de %d bytes."
+msgstr[1] "Un ficheiro deste tamaño excedería a súa cota mensual de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nome de ficheiro incorrecto."
 
@@ -5882,32 +6145,40 @@ msgid "Problem saving notice."
 msgstr "Houbo un problema ao gardar a nota."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "O tipo dado para saveKnownGroups era incorrecto"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Houbo un problema ao gardar a caixa de entrada do grupo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Non se puido gardar a resposta a %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5915,7 +6186,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5986,32 +6257,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Benvido a %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Non se estableceu ningún usuario único para o modo de usuario único."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Non se puido crear o grupo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Non se puido establecer o URI do grupo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Non se puido establecer a pertenza ao grupo."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Non se puido gardar a información do grupo local."
 
@@ -6061,194 +6332,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Páxina sen título"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navegación principal do sitio"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Liña do tempo do perfil persoal e os amigos"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Persoal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Cambie o seu correo electrónico, avatar, contrasinal ou perfil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Conta"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Conectarse aos servizos"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Conectarse"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Cambiar a configuración do sitio"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrador"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convide a amigos e compañeiros a unírselle en %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Convidar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Saír ao anonimato"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Saír"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Crear unha conta"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Rexistrarse"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Identificarse no sitio"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Identificarse"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Axuda!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Axuda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Buscar persoas ou palabras"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Buscar"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Nota do sitio"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Vistas locais"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Nota da páxina"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navegación secundaria do sitio"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Axuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Acerca de"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Preguntas máis frecuentes"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Condicións do servicio"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Protección de datos"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Código fonte"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contacto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Insignia"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licenza do software StatusNet"
 
@@ -6256,7 +6534,7 @@ msgstr "Licenza do software StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6266,7 +6544,7 @@ msgstr ""
 "site.broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** é un servizo de mensaxes de blogue curtas."
@@ -6275,7 +6553,7 @@ msgstr "**%%site.name%%** é un servizo de mensaxes de blogue curtas."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6287,20 +6565,20 @@ msgstr ""
 "GNU](http://www.fsf.org/licensing/licenses/agpl-3.0.html) (en inglés)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licenza dos contidos do sitio"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "O contido e os datos de %1$s son privados e confidenciais."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6308,7 +6586,7 @@ msgstr ""
 "todos os dereitos."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Os contidos e datos son propiedade intelectual dos colaboradores. Quedan "
@@ -6316,26 +6594,26 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 "Todos os contidos e datos de %1$s están dispoñibles baixo a licenza %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paxinación"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Posteriores"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Anteriores"
 
@@ -6415,7 +6693,7 @@ msgid "User configuration"
 msgstr "Configuración do usuario"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Usuario"
 
@@ -6684,7 +6962,7 @@ msgid "AJAX error"
 msgstr "Houbo un erro de AJAX"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Completouse a orde"
 
@@ -6700,7 +6978,7 @@ msgstr "Non hai ningunha nota con esa id."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "O usuario non ten ningunha última nota."
 
@@ -6769,6 +7047,14 @@ msgstr "%1$s uniuse ao grupo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s deixou o grupo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6808,114 +7094,121 @@ msgstr ""
 "%s é un perfil remoto. Só pode enviarlle mensaxes persoais aos usuarios do "
 "mesmo servidor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"A mensaxe é longa de máis, o límite de caracteres é de %1$d, e enviou %2$d."
+msgstr[1] ""
 "A mensaxe é longa de máis, o límite de caracteres é de %1$d, e enviou %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Houbo un erro ao enviar a mensaxe directa."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Repetiuse a nota de %s."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Houbo un erro ao repetir a nota."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "A nota é longa de máis. O límite son %1$d caracteres, e enviou %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"A nota é longa de máis. O límite son %1$d caracteres, e enviou %2$d."
+msgstr[1] ""
+"A nota é longa de máis. O límite son %1$d caracteres, e enviou %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Enviouse a resposta a %s."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Houbo un erro ao gardar a nota."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Introduza o nome do usuario ao que quere subscribirse."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Non se pode subscribir aos perfís OMB cunha orde."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subscribiuse a %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Introduza o nome do usuario ao que quer deixar de estar subscrito."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Cancelou a subscrición a %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Aínda non se integrou esa orde."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Desactivar a notificación."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Non se pode desactivar a notificación."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Activar a notificación."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Non se pode activar a notificación."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "A orde de identificación está desactivada."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6924,20 +7217,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Cancelou a subscrición a %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Non está subscrito a ninguén."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Vostede está subscrito a esta persoa:"
@@ -6945,14 +7238,14 @@ msgstr[1] "Vostede está subscrito a estas persoas:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Non hai ninguén subscrito a vostede."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Esta persoa está subscrita a vostede:"
@@ -6960,21 +7253,21 @@ msgstr[1] "Estas persoas están subscritas a vostede:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Non forma parte de ningún grupo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Vostede pertence a este grupo:"
 msgstr[1] "Vostede pertence a estes grupos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7118,10 +7411,13 @@ msgstr "Aplicacións conectadas autorizadas"
 msgid "Database error"
 msgstr "Houbo un erro na base de datos"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Cargar un ficheiro"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7129,16 +7425,29 @@ msgstr ""
 "Pode cargar a súa imaxe de fondo persoal. O ficheiro non pode ocupar máis de "
 "2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"O servidor non puido manexar tantos datos POST (%s bytes) por mor da súa "
-"configuración actual."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Activado"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Desactivado"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Restablecer"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Restableceuse o deseño por defecto."
 
@@ -7166,7 +7475,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Amigo dun amigo"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Fontes de novas"
 
@@ -7206,7 +7516,8 @@ msgstr ""
 "espazos, tiles ou eñes"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL do sitio web persoal ou blogue do grupo ou tema"
 
 #: lib/groupeditform.php:168
@@ -7214,21 +7525,32 @@ msgid "Describe the group or topic"
 msgstr "Describa o grupo ou o tema"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Describa o grupo ou o tema en %d caracteres"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Describa o grupo ou o tema en %d caracteres"
+msgstr[1] "Describa o grupo ou o tema en %d caracteres"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Localidade do grupo, se a ten, como por exemplo \"Cidade, Provincia, "
 "Comunidade, País\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Alcumes adicionais para o grupo, separados por comas ou espazos, %d como "
+"máximo"
+msgstr[1] ""
 "Alcumes adicionais para o grupo, separados por comas ou espazos, %d como "
 "máximo"
 
@@ -7330,39 +7652,57 @@ msgstr "Esta páxina non está dispoñible nun formato axeitado para vostede"
 msgid "Unsupported image file format."
 msgstr "Non se soporta o formato da imaxe."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Ese ficheiro é grande de máis. O tamaño máximo por ficheiro son %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Carga parcial."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Houbo un erro no sistema ao cargar o ficheiro."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "O ficheiro está mal ou non é unha imaxe."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Perdeuse o noso ficheiro."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Non se coñece o tipo de ficheiro"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7613,7 +7953,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) marcou a súa nota como favorita"
@@ -7623,7 +7963,7 @@ msgstr "%s (@%s) marcou a súa nota como favorita"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7662,7 +8002,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7675,7 +8015,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) enviou unha nota á súa atención"
@@ -7686,7 +8026,7 @@ msgstr "%s (@%s) enviou unha nota á súa atención"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7768,7 +8108,7 @@ msgstr "Ese non é o seu enderezo de correo electrónico para recibir correos."
 msgid "Sorry, no incoming email allowed."
 msgstr "Non se permite recibir correo electrónico."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Non se soporta o tipo de mensaxe: %s"
@@ -7833,7 +8173,7 @@ msgstr "Non se puido determinar o tipo MIME do ficheiro."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7844,7 +8184,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "Neste servidor non se soporta o tipo de ficheiro \"%s\"."
@@ -7985,31 +8325,31 @@ msgstr "Nota duplicada."
 msgid "Couldn't insert new subscription."
 msgstr "Non se puido inserir unha subscrición nova."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Persoal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respostas"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoritas"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Caixa de entrada"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "As mensaxes recibidas"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Caixa de saída"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "As mensaxes enviadas"
 
@@ -8116,16 +8456,17 @@ msgid "Sandbox this user"
 msgstr "Illar a este usuario"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Buscar no sitio"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Termos de busca"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8206,6 +8547,12 @@ msgstr "Nube de etiquetas que lle puxo a outras persoas"
 msgid "None"
 msgstr "Ningún"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nome de ficheiro incorrecto."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8217,8 +8564,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "O ficheiro do tema visual non existe ou a subida fallou."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Non se puido gardar o tema visual."
 
@@ -8227,17 +8574,22 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Tema visual inválido: a estrutura do directorio é incorrecta"
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"O tema visual cargado é grande de máis; o tamaño descomprimido non pode "
+"superar os %d bytes."
+msgstr[1] ""
 "O tema visual cargado é grande de máis; o tamaño descomprimido non pode "
 "superar os %d bytes."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Arquivo de tema visual inválido: falta o ficheiro css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8245,16 +8597,16 @@ msgstr ""
 "O tema visual contén un ficheiro inválido ou nome de cartafol incorrecto. "
 "Limíteo a letras ASCII, díxitos, barras baixas e signos menos."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "O tema visual contén nomes de extensión inseguros."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "O tema visual contén o tipo de ficheiro \".%s\". Non está permitido."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Houbo un erro ao abrir o arquivo do tema visual."
 
@@ -8262,6 +8614,13 @@ msgstr "Houbo un erro ao abrir o arquivo do tema visual."
 msgid "Top posters"
 msgstr "Os que máis publican"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloquear"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Deixar de illar"
@@ -8430,16 +8789,21 @@ msgstr[0] ""
 msgstr[1] ""
 "A mensaxe é longa de máis, o límite de caracteres é de %1$d, e enviou %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "Ficheiro de reserva para o usuario %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Non se especificou ningún usuario; emprégase o usuario de reserva."
 
-#: scripts/restoreuser.php:94
-#, php-format
-msgid "%d entries in backup."
-msgstr "%d entradas na reserva."
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
+#, fuzzy, php-format
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d entradas na reserva."
+msgstr[1] "%d entradas na reserva."
index bbb11a497967d24b779bbd2ec89514b770ee7953..4c67f0235e76aa3473d6ecdd63c3392768afd454 100644 (file)
@@ -11,18 +11,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:03+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:28+0000\n"
 "Language-Team: Upper Sorbian <http://translatewiki.net/wiki/Portal:hsb>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: hsb\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : (n%100==3 || "
 "n%100==4) ? 2 : 3)\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,15 +79,22 @@ msgstr "Přistupne nastajenja składować"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Składować"
@@ -118,6 +125,7 @@ msgstr "Strona njeeksistuje."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -130,14 +138,14 @@ msgstr "Strona njeeksistuje."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Wužiwar njeeksistuje"
@@ -154,7 +162,7 @@ msgstr "%1$s a přećeljo, strona %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s a přećeljo"
@@ -204,7 +212,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -300,11 +310,12 @@ msgstr "Wužiwar njeje so dał aktualizować."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -317,11 +328,13 @@ msgstr "Profil njeje so składować dał."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -498,44 +511,54 @@ msgstr "Žórłowy wužiwar njeda so postajić."
 msgid "Could not find target user."
 msgstr "Cilowy wužiwar njeda so namakać."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 "Přimjeno smě jenož małe pismiki a cyfry wobsahować. Mjezery njejsu dowolene."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Přimjeno so hižo wužiwa. Spytaj druhe."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Žane płaćiwe přimjeno."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Startowa strona njeje płaćiwy URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -544,10 +567,14 @@ msgstr "Dospołne mjeno je předołho (maks. 255 znamješkow)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -557,9 +584,11 @@ msgstr[2] "Wopisanje je předołho (maks. %d znamješkow)."
 msgstr[3] "Wopisanje je předołho (maks. %d znamješkow)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -567,7 +596,12 @@ msgstr "Městno je předołho (maks. 255 znamješkow)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -585,15 +619,19 @@ msgstr "Njepłaćiwy alias: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias \"%s\" so hižo wužiwa. Spytaj druhi."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias njemóže samsny kaž přimjeno być."
 
@@ -699,21 +737,21 @@ msgid "Request token already authorized."
 msgstr "Njejsy awtorizowany."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -729,17 +767,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Zmylk datoweje banki při zasunjenju wužiwarja OAuth-aplikacije."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Njewočakowane wotpósłanje formulara."
 
@@ -783,9 +823,10 @@ msgstr "Konto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -879,20 +920,21 @@ msgstr "Njemóžeš status druheho wužiwarja zničić."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Zdźělenka njeeksistuje."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Njemóžno twoju zdźělenku wospjetować."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Tuta zdźělenka bu hižo wospjetowana."
 
@@ -913,7 +955,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -930,7 +973,7 @@ msgstr "API-metoda njenamakana."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1039,105 +1082,140 @@ msgstr "API-metoda njenamakana."
 msgid "User not found."
 msgstr "API-metoda njenamakana."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Přiwěšk njeeksistuje."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Žane přimjeno."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Žana wulkosć."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Njepłaćiwa wulkosć."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Awatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Móžeš swój wosobinski awatar nahrać. Maksimalna datajowa wulkosć je %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Wužiwar bjez hodźaceho so profila."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Nastajenja awatara"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Přehlad"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Zničić"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Nahrać"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Přirězać"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Žana dataja nahrata."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Naše datajowe daty su so zhubili."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Awatar zaktualizowany."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Aktualizowanje awatara je so njeporadźiło."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Awatar zničeny."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Sy tutoho wužiwarja hižo zablokował."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Wužiwarja blokować"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1150,8 +1228,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1159,7 +1237,7 @@ msgstr "Ně"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Tutoho wužiwarja njeblokować"
 
@@ -1169,8 +1247,8 @@ msgstr "Tutoho wužiwarja njeblokować"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1178,142 +1256,172 @@ msgstr "Haj"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Tutoho wužiwarja blokować"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 #, fuzzy
 msgid "Failed to save block information."
 msgstr "Njeje móžno, sydłowu zdźělenku składować."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Skupina njeeksistuje."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s je profile zablokował"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s zablokowa profile, stronu %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "Lisćina wužiwarjow w tutej skupinje."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Wužiwarja za skupinu wotblokować"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Wotblokować"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Tutoho wužiwarja wotblokować"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Na %s pósłać"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Žadyn wobkrućenski kod."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Wobkrućenski kod njenamakany."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Tutón wobkrućenski kod njeje za tebje!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Njespóznaty adresowy typ %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Tuta adresa bu hižo wobkrućena."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Wužiwar njeda aktualizować."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "E-mejlowe wobkrućenje njeda so zhašeć."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "IM-wobkrućenje njeda so zhašeć."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Adresu wobkrućić"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Adresa \"%s\" bu za twoje konto wobkrućena."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Konwersacija"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Zdźělenki"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Dyrbiš přizjewjeny być, zo by aplikaciju zničił."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplikaciska njenamakana."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Njejsy wobsedźer tuteje aplikacije."
@@ -1321,15 +1429,18 @@ msgstr "Njejsy wobsedźer tuteje aplikacije."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Aplikaciju zničić"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1337,12 +1448,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Tutu aplikaciju njezničić"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Tutu aplikaciju zničić"
 
@@ -1378,13 +1489,14 @@ msgstr "Skupina njeje so dała aktualizować."
 msgid "Deleted group %s"
 msgstr "%1$s je skupinu %2$s wopušćił"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Wužiwarja wušmórnyć"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1404,42 +1516,50 @@ msgstr "Tutu zdźělenku njewušmórnyć"
 msgid "Delete this group"
 msgstr "Tutoho wužiwarja wušmórnyć"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Njepřizjewjeny."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Tuta zdźělenka njeda so zničić."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Zdźělenku wušmórnyć"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Chceš woprawdźe tutu zdźělenku wušmórnyć?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Tutu zdźělenku njewušmórnyć"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Tutu zdźělenku wušmórnyć"
 
@@ -1523,12 +1643,14 @@ msgstr "Swójski šat"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Móžeš swójski šat StatusNet jako .ZIP-archiw nahrać."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Pozadkowy wobraz změnić"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Pozadk"
 
@@ -1541,42 +1663,50 @@ msgstr ""
 "Móžeš pozadkowy wobraz za sydło nahrać. Maksimalna datajowa wulkosć je %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Zapinjeny"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Wupinjeny"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 #, fuzzy
 msgid "Turn background image on or off."
 msgstr "Pozadkowy wobraz změnić"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "Pozadkowy wobraz změnić"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Barby změnić"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Wobsah"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Bóčnica"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Tekst"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Wotkazy"
 
@@ -1588,29 +1718,31 @@ msgstr "Rozšěrjeny"
 msgid "Custom CSS"
 msgstr "Swójski CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Standardne hódnoty wužiwać"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Standardne designy wobnowić"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Na standard wróćo stajić"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Składować"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Design składować"
 
@@ -1654,9 +1786,9 @@ msgid "Name is required."
 msgstr "Mjeno je trěbne."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Mjeno je předołho (maks. 255 znamješkow)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1685,7 +1817,7 @@ msgid "Organization is required."
 msgstr "Organizacija je trěbna."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Mjeno organizacije je předołho (maks. 255 znamješkow)."
@@ -1711,49 +1843,49 @@ msgstr "URL žórła płaćiwy njeje."
 msgid "Could not update application."
 msgstr "Aplikacija njeda so aktualizować."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Skupinu %s wobdźěłać"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Dyrbiš přizjewjeny być, zo by skupinu wutworił."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Dyrbiš administrator być, zo by skupinu wobdźěłał."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Wuž tutón formular, zo by skupinu wobdźěłał."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Wopisanje je předołho (maks. %d znamješkow)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Přewjele aliasow! Maksimum: %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Njepłaćiwy alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Skupina njeje so dała aktualizować."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Aliasy njejsu so dali wutworić."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Opcije składowane."
 
@@ -1943,6 +2075,12 @@ msgstr "IM-wobkrućenje přetorhnjene."
 msgid "That is the wrong email address."
 msgstr "To je wopačna e-mejlowa adresa."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "E-mejlowe wobkrućenje njeda so zhašeć."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2021,7 +2159,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, fuzzy, php-format
 msgid "%s's favorite notices"
 msgstr "Preferowane zdźělenki wot %1$s, strona %2$d"
@@ -2118,19 +2256,23 @@ msgstr "Njemóžeš wužiwarske róle na tutym sydle garantować."
 msgid "User already has this role."
 msgstr "Wužiwar hižo ma tutu rólu."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Žadyn profil podaty."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Žadyn profil z tym ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Žana skupina podata."
@@ -2191,8 +2333,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Twój design njeda so aktualizować."
 
@@ -2212,6 +2356,14 @@ msgstr ""
 "Móžeš logowy wobraz za swoju skupinu nahrać. Maksimalna datajowa wulkosć je %"
 "s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Nahrać"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Přirězać"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2345,15 +2497,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Jenož administrator móže skupinskich čłonow wotblokować."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Wužiwar njeje zablokowany za skupinu."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Zmylk při wotstronjenju blokowanja."
 
@@ -2436,7 +2591,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "MicroID za moju e-mejlowu adresu publikować"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Nastajenja składowane."
 
@@ -2564,10 +2719,9 @@ msgstr[3] "Sy tutych wužiwarjow hižo abonował:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2726,8 +2880,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Městno je předołho (maks. 255 znamješkow)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2898,28 +3053,20 @@ msgstr "Dyrbiš přizjewjeny być, zo by aplikaciju registrował."
 msgid "Use this form to register a new application."
 msgstr "Wužij tutón formular, zo by nowu aplikaciju registrował."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Mjeno je předołho (maks. 255 znamješkow)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Žórłowy URL je trěbny."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Mjeno organizacije je předołho (maks. 255 znamješkow)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Aplikacija njeda so wutworić."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nowa skupina"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Wužij tutón formular, zo by nowu skupinu wutworił."
@@ -2929,14 +3076,14 @@ msgid "New message"
 msgstr "Nowa powěsć"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Njemóžeš tutomu wužiwarju powěsć pósłać."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Žadyn wobsah!"
 
@@ -2945,7 +3092,7 @@ msgid "No recipient specified."
 msgstr "Žadyn přijimowar podaty."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2956,12 +3103,12 @@ msgstr "Powěsć pósłana"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Direktna powěsć do %s pósłana."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Zmylk Ajax"
 
@@ -2969,17 +3116,7 @@ msgstr "Zmylk Ajax"
 msgid "New notice"
 msgstr "Nowa zdźělenka"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "To je předołho. Maksimalna wulkosć zdźělenki je %d znamješkow."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Zdźělenka wotpósłana"
 
@@ -3111,25 +3248,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Zdźělenka nima profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, fuzzy, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s je skupinu %2$s wopušćił"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Wobsahowy typ %s so njepodpěruje."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Njeje podpěrany datowy format."
@@ -3142,38 +3279,47 @@ msgstr "Ludźi pytać"
 msgid "Notice Search"
 msgstr "Zdźělenku pytać"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Druhe nastajenja"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Wšelake druhe opcije zrjadować."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (swobodna słužba)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "URL skrótšić z"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr ""
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 #, fuzzy
 msgid "View profile designs"
 msgstr "Profilowe nastajenja wobdźěłać"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
 #, fuzzy
-msgid "URL shortening service is too long (max 50 chars)."
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Mjeno rěče je předołhe (maks. 50 znamješkow)."
 
 #: actions/otp.php:69
@@ -3616,8 +3762,9 @@ msgstr ""
 "Přimjeno smě jenož małe pismiki a cyfry wobsahować. Mjezery njejsu dowolene."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Dospołne mjeno"
@@ -3659,9 +3806,10 @@ msgid "Bio"
 msgstr "Biografija"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Městno"
@@ -3993,7 +4141,8 @@ msgid "Unexpected password reset."
 msgstr "Njewočakowane wotpósłanje formulara."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Hesło dyrbi 6 znamješkow abo wjace měć."
 
 #: actions/recoverpassword.php:369
@@ -4209,7 +4358,7 @@ msgid "Repeated!"
 msgstr "Wospjetowany!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, fuzzy, php-format
 msgid "Replies to %s"
 msgstr "Wotmołwy"
@@ -4338,11 +4487,12 @@ msgstr "Organizacija"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Wopisanje"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistika"
@@ -4360,6 +4510,11 @@ msgstr "Aplikaciske akcije"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Zničić"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Aplikaciske informacije"
@@ -4444,78 +4599,107 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "skupina %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s skupina, strona %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Skupinski profil"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 #, fuzzy
 msgid "Note"
 msgstr "Žadyn"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliasy"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Skupinske akcije"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, fuzzy, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, fuzzy, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, fuzzy, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, fuzzy, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF za %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Čłonojo"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Žadyn)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Wšitcy čłonojo"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Wutworjeny"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Čłonojo"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4525,7 +4709,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4534,25 +4721,32 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administratorojo"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Powěsć njeeksistuje."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 #, fuzzy
 msgid "Only the sender and recipient may read this message."
 msgstr "Jenož wužiwar móže swoje póstowe kašćiki čitać."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Powěsć do %1$s na %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Powěsć wot %1$s na %2$s"
@@ -4561,60 +4755,84 @@ msgstr "Powěsć wot %1$s na %2$s"
 msgid "Notice deleted."
 msgstr "Zdźělenka zničena."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr ""
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, strona %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s, strona %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, strona %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, fuzzy, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, fuzzy, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, fuzzy, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Kanal za přećelow wužiwarja %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF za %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4623,7 +4841,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4631,7 +4851,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "Wospjetowany wot"
@@ -4746,31 +4967,38 @@ msgstr "Tekstowy limit"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Sydłowa zdźělenka"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Sydłodaloku powěsć wobdźěłać"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Njeje móžno, sydłowu zdźělenku składować."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Tekst sydłoweje zdźělenki"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Sydłowu zdźělenku składować"
 
@@ -4986,12 +5214,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Nastajenja wobrazowkoweho fota składować"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Njejsy tón profil abonował."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Abonement njeda so składować."
 
@@ -5221,77 +5451,94 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Wužiwar"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Njepłaćiwy standardny abonement: '%1$s' wužiwar njeje."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 #, fuzzy
 msgid "Bio Limit"
 msgstr "Limity"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nowi wužiwarjo"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Powitanje noweho wužiwarja"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Powitanski tekst za nowych wužiwarjow (maks. 255 znamješkow)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Standardny abonement"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr "Tutoho wužiwarja abonować"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Přeprošenja"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Přeprošenja zmóžnjene"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5390,12 +5637,14 @@ msgstr "Wopačny wobrazowy typ za awatarowy URL '%s'."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Wopačny wobrazowy typ za awatarowy URL '%s'."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Profilowe nastajenja"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5480,7 +5729,7 @@ msgid "Plugins"
 msgstr "Tykače"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Wersija"
 
@@ -5514,29 +5763,44 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Njepłaćiwe datajowe mjeno."
 
@@ -5667,39 +5931,46 @@ msgid "Problem saving notice."
 msgstr "Zmylk při składowanju powěsće"
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr ""
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Informacije wo lokalnej skupinje njedachu so składować."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5770,32 +6041,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Witaj do %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Žadyn jednotliwy wužiwar za modus jednotliweho wužiwarja definowany."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Skupina njeda so wutowrić."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "URI skupiny njeda so nastajić."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Skupinske čłonstwo njeda so stajić."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Informacije wo lokalnej skupinje njedachu so składować."
 
@@ -5846,199 +6117,206 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Strona bjez titula"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 #, fuzzy
 msgid "Primary site navigation"
 msgstr "Zakładna sydłowa konfiguracija"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Wosobinski"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Wašu e-mejl, waš awatar, waše hesło, waš profil změnić"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Ze słužbami zwjazać"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Zwjazać"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Sydłowu konfiguraciju změnić"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrator"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Přećelow a kolegow přeprosyć, so tebi na %s  přidružić"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Přeprosyć"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Ze sydła wotzjewić"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Wotzjewić"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Konto załožić"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrować"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Při sydle přizjewić"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Přizjewjenje"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Pomhaj!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Pomoc"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Za ludźimi abo tekstom pytać"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Pytać"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 #, fuzzy
 msgid "Site notice"
 msgstr "Sydłowa zdźělenka"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 #, fuzzy
 msgid "Local views"
 msgstr "Lokalny"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 #, fuzzy
 msgid "Page notice"
 msgstr "Nowa zdźělenka"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Zakładna sydłowa konfiguracija"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Pomoc"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Wo"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Huste prašenja"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Priwatnosć"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Žórło"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr ""
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr ""
 
@@ -6046,7 +6324,7 @@ msgstr ""
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6054,7 +6332,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr ""
@@ -6063,7 +6341,7 @@ msgstr ""
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6072,52 +6350,52 @@ msgid ""
 msgstr ""
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 #, fuzzy
 msgid "Site content license"
 msgstr "Wobsah zdźělenkow přepytać"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 #, fuzzy
 msgid "Pagination"
 msgstr "Registrowanje"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Po"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Před"
 
@@ -6198,7 +6476,7 @@ msgid "User configuration"
 msgstr "Wužiwarska konfiguracija"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Wužiwar"
 
@@ -6467,7 +6745,7 @@ msgid "AJAX error"
 msgstr "Zmylk Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Přikaz wuwjedźeny"
 
@@ -6483,7 +6761,7 @@ msgstr "Zdźělenka z tym ID njeeksistuje."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Wužiwar nima poslednju powěsć."
 
@@ -6550,6 +6828,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6587,135 +6873,157 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
+msgstr[1] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
+msgstr[2] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
+msgstr[3] ""
 "Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
 "pósłał."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Zmylk při słanju direktneje powěsće,"
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Powěsć wot %s wospjetowana."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Zmylk při wospjetowanju zdźělenki"
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
+msgstr[1] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
+msgstr[2] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
+msgstr[3] ""
+"Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
+"pósłał."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Wotmołwa na %s pósłana."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Zmylk při składowanju powěsće"
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "OMB-profile njedadźa so přez přikaz abonować."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Přikaz hišće njeimplementowany."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Zdźělenje znjemóžnjene."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Zdźělenje njeda so znjemóžnić."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Zdźělenje zmóžnjene."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Zdźělenje njeda so zmóžnić."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Njejsy nikoho abonował."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Sy tutu wosobu abonował:"
@@ -6725,14 +7033,14 @@ msgstr[3] "Sy tute wosoby abonował:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Nichtó njeje će abonował."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Tuta wosoba je će abonowała:"
@@ -6742,14 +7050,14 @@ msgstr[3] "Tute wosoby su će abonowali:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Njejsy čłon w žanej skupinje."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Sy čłon tuteje skupiny:"
@@ -6758,7 +7066,7 @@ msgstr[2] "Sy čłon tutych skupinow:"
 msgstr[3] "Sy čłon tutych skupinow:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6864,10 +7172,13 @@ msgstr "Awtorizowane zwjazane aplikacije"
 msgid "Database error"
 msgstr "Zmylk w datowej bance"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Dataju nahrać"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -6875,14 +7186,29 @@ msgstr ""
 "Móžeš swój wosobinski pozadkowy wobraz nahrać. Maksimalna datajowa wulkosć "
 "je 2 MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Zapinjeny"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Wupinjeny"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Wróćo stajić"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 #, fuzzy
 msgid "Design defaults restored."
 msgstr "Designowe nastajenja składowane."
@@ -6913,7 +7239,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -6954,7 +7281,7 @@ msgstr ""
 
 #: lib/groupeditform.php:163
 #, fuzzy
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL za startowu stronu organizacije"
 
 #: lib/groupeditform.php:168
@@ -6962,21 +7289,34 @@ msgid "Describe the group or topic"
 msgstr "Skupinu abo temu wopisać"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Skupinu abo temu w %d znamješkach wopisać"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Skupinu abo temu w %d znamješkach wopisać"
+msgstr[1] "Skupinu abo temu w %d znamješkach wopisać"
+msgstr[2] "Skupinu abo temu w %d znamješkach wopisać"
+msgstr[3] "Skupinu abo temu w %d znamješkach wopisać"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Městno za skupinu, jeli eksistuje, na př. \"město, zwjazkowy kraj (abo "
 "region), kraj\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7078,39 +7418,63 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "Njepodpěrowany wobrazowy format."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Tuta dataja je přewulka. Maksimalna datajowa wulkosć je %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Dźělne nahraće."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Systemowy zmylk při nahrawanju dataje."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Žady wobraz abo žana wobškodźena dataja."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Naša dataja je so zhubiła."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Njeznaty datajowy typ"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
-
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "KB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+msgstr[2] "MB"
+msgstr[3] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "KB"
+msgstr[1] "KB"
+msgstr[2] "KB"
+msgstr[3] "KB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7302,7 +7666,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) je twoju zdźělenku jako faworit přidał"
@@ -7312,7 +7676,7 @@ msgstr "%s (@%s) je twoju zdźělenku jako faworit přidał"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7334,7 +7698,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7347,7 +7711,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) je twoju zdźělenku jako faworit přidał"
@@ -7358,7 +7722,7 @@ msgstr "%s (@%s) je twoju zdźělenku jako faworit přidał"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7415,7 +7779,7 @@ msgstr "Wodaj, to twoja adresa za dochadźace e-mejle njeje."
 msgid "Sorry, no incoming email allowed."
 msgstr "Wodaj, dochadźaće e-mejle njejsu dowolene."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Njepodpěrany powěsćowy typ: %s"
@@ -7479,7 +7843,7 @@ msgstr "MIME-typ dataje njeda so zwěsćić."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7488,7 +7852,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7629,31 +7993,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Nowy abonement njeda so zasunyć."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Wosobinski"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Wotmołwy"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Fawority"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Dochadny póst"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Twoje dochadźace powěsće"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Wuchadny póst"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Twoje pósłane powěsće"
 
@@ -7763,16 +8127,17 @@ msgid "Sandbox this user"
 msgstr "Tutoho wužiwarja wotblokować"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Pytanske sydło"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Klučowe hesła"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7855,6 +8220,12 @@ msgstr ""
 msgid "None"
 msgstr "Žadyn"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Njepłaćiwe datajowe mjeno."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7864,8 +8235,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Składowanje šata je so njeporadźiło."
 
@@ -7875,29 +8246,34 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Zmylk při wočinjenju šatoweho archiwa."
 
@@ -7905,6 +8281,13 @@ msgstr "Zmylk při wočinjenju šatoweho archiwa."
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Wotblokować"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8093,17 +8476,24 @@ msgstr[3] ""
 "Powěsć je předołho - maksimalna wulkosć je %1$d znamješkow, ty sy %2$d "
 "pósłał."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Žadyn wužiwarski ID podaty."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
index bf7613336e044373be6ce82fe0be9bd272e5cb85..dd208a3cf1dd9eebc89e68b00804b8e945ed4702 100644 (file)
@@ -12,13 +12,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:05+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:22+0000\n"
 "Language-Team: Hungarian <http://translatewiki.net/wiki/Portal:hu>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: hu\n"
 "X-Message-Group: #out-statusnet-core\n"
@@ -81,15 +81,22 @@ msgstr "Hozzáférések beállításainak mentése"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Mentés"
@@ -120,6 +127,7 @@ msgstr "Nincs ilyen lap."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -132,14 +140,14 @@ msgstr "Nincs ilyen lap."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Nincs ilyen felhasználó."
@@ -156,7 +164,7 @@ msgstr "%1$s és barátai, %2$d oldal"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s és barátai"
@@ -210,7 +218,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -306,11 +316,12 @@ msgstr "Nem sikerült frissíteni a felhasználót."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -323,11 +334,13 @@ msgstr "Nem sikerült menteni a profilt."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -502,43 +515,53 @@ msgstr "Nem sikerült megállapítani a forrás felhasználót."
 msgid "Could not find target user."
 msgstr "A cél felhasználó nem található."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "A becenév csak kisbetűket és számokat tartalmazhat, szóközök nélkül."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "A becenév már foglalt. Próbálj meg egy másikat."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Nem érvényes becenév."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "A honlap érvénytelen URL-cím."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -547,10 +570,14 @@ msgstr "A teljes név túl hosszú (legfeljebb 255 karakter lehet)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -558,9 +585,11 @@ msgstr[0] "A leírás túl hosszú (legfeljebb %d karakter lehet)."
 msgstr[1] "A leírás túl hosszú (legfeljebb %d karakter lehet)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -568,7 +597,12 @@ msgstr "A hely túl hosszú (legfeljebb 255 karakter lehet)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -584,15 +618,19 @@ msgstr "Érvénytelen álnév: „%s”."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "A(z) „%s” álnév már használatban van. Próbálj meg egy másikat."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Az álnév nem egyezhet meg a becenévvel."
 
@@ -697,21 +735,21 @@ msgid "Request token already authorized."
 msgstr "Nincs jogosultságod."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Probléma volt a munkameneted tokenjével. Kérlek, próbáld újra."
 
@@ -726,17 +764,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr ""
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Váratlan űrlapbeküldés."
 
@@ -780,9 +820,10 @@ msgstr "Kontó"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -875,20 +916,21 @@ msgstr "Nem törölheted más felhasználók állapotait."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nincs ilyen hír."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Nem ismételheted meg a saját híredet."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Már megismételted azt a hírt."
 
@@ -909,7 +951,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -924,7 +967,7 @@ msgstr "Az API-metódus nem található."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1031,104 +1074,139 @@ msgstr "Az API-metódus fejlesztés alatt áll."
 msgid "User not found."
 msgstr "Az API-metódus nem található."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Nincs ilyen csatolmány."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Nincs becenév."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Nincs méret."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Érvénytelen méret."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Feltöltheted a személyes avatarodat. A fájl maximális mérete %s lehet."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr ""
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatarbeállítások"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Eredeti"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Előnézet"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Törlés"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Feltöltés"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Levágás"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Nincs feltöltve fájl."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Válassz ki egy négyzet alakú területet a képből, ami az avatarod lesz"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Elvesztettük az adatainkat."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar frissítve."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Nem sikerült felölteni az avatart."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar törölve."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Már blokkoltad azt a felhasználót."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Felhasználó blokkolása"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1141,8 +1219,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1150,7 +1228,7 @@ msgstr "Nem"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Ne blokkoljuk ezt a felhasználót"
 
@@ -1160,8 +1238,8 @@ msgstr "Ne blokkoljuk ezt a felhasználót"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1169,140 +1247,170 @@ msgstr "Igen"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Felhasználó blokkolása"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Nem sikerült elmenteni a blokkolási információkat."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Nincs ilyen csoport."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr ""
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr ""
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "A csoportból blokkolt felhasználók listája"
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Oldjuk fel a felhasználó blokkolását a csoportban"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Blokk feloldása"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Ezen felhasználó blokkjának feloldása"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Küldés ide: %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Nincs megerősítő kód."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "A megerősítő kód nem található."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Ez a megerősítő kód nem hozzád tartozik!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr ""
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Ez a cím már meg van erősítve."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Nem sikerült frissíteni a felhasználót."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Nem sikerült törölni az e-mail cím megerősítését."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Cím ellenőrzése"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "A(z) „%s” cím meg van erősítve a fiókodhoz."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Beszélgetés"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Hírek"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr ""
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr ""
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr ""
@@ -1310,15 +1418,18 @@ msgstr ""
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Alkalmazás törlése"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1326,12 +1437,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr ""
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr ""
 
@@ -1367,13 +1478,14 @@ msgstr "Nem sikerült a csoport frissítése."
 msgid "Deleted group %s"
 msgstr "%1$s csatlakozott a(z) %2$s csoporthoz"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Felhasználó törlése"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1396,42 +1508,50 @@ msgstr "Ne töröljük ezt a hírt"
 msgid "Delete this group"
 msgstr "Töröljük ezt a felhasználót"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Nem vagy bejelentkezve."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr ""
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Hír törlése"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Biztosan törölni szeretnéd ezt a hírt?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Ne töröljük ezt a hírt"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Töröljük ezt a hírt"
 
@@ -1517,12 +1637,14 @@ msgstr ""
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Háttérkép megváltoztatása"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Háttér"
 
@@ -1534,40 +1656,48 @@ msgid ""
 msgstr ""
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Be"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Ki"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Háttérkép be- vagy kikapcsolása."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Háttérkép csempézése"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Színek megváltoztatása"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Tartalom"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Oldalsáv"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Szöveg"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Hivatkozások"
 
@@ -1579,29 +1709,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Alapértelmezések használata"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Visszaállítás az alapértelmezettre"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Mentés"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Design mentése"
 
@@ -1645,9 +1777,9 @@ msgid "Name is required."
 msgstr "A név szükséges."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "A név túl hosszú (max 255 karakter lehet)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1676,7 +1808,7 @@ msgid "Organization is required."
 msgstr "A szervezet szükséges."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "A szervezet túl hosszú (255 karakter lehet)."
@@ -1700,49 +1832,49 @@ msgstr ""
 msgid "Could not update application."
 msgstr ""
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "%s csoport szerkesztése"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Csoport létrehozásához be kell jelentkezned."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr ""
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Ezen űrlap segítségével szerkesztheted a csoportot."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "A leírás túl hosszú (legfeljebb %d karakter lehet)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Túl sok álnév! Legfeljebb %d lehet."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Érvénytelen álnév: „%s”"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Nem sikerült a csoport frissítése."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Nem sikerült létrehozni az álneveket."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Beállítások elmentve."
 
@@ -1937,6 +2069,12 @@ msgstr "Nincs várakozó megerősítés, amit vissza lehetne vonni."
 msgid "That is the wrong email address."
 msgstr ""
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Nem sikerült törölni az e-mail cím megerősítését."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2016,7 +2154,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s kedvenc hírei"
@@ -2113,19 +2251,23 @@ msgstr ""
 msgid "User already has this role."
 msgstr "A felhasználónak már van ilyen szerepe."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Nincs profil megadva."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Nincs ilyen azonosítóval rendelkező profil."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Nincs csoport megadva."
@@ -2190,8 +2332,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Nem sikerült frissíteni a designt."
 
@@ -2209,6 +2353,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr ""
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Feltöltés"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Levágás"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2345,15 +2497,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "A felhasználó nincs blokkolva a csoportból."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Hiba a blokkolás feloldása közben."
 
@@ -2434,7 +2589,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr ""
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Beállítások elmentve."
 
@@ -2555,12 +2710,11 @@ msgstr[1] "Ezen felhasználók híreire már feliratkoztál:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s - %2$s"
 
 #. TRANS: Message displayed inviting users to use a StatusNet site while the invited user
 #. TRANS: already uses a this StatusNet site. Plural form is based on the number of
@@ -2715,8 +2869,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Érvénytelen SSL szerver. A maximális hossz 255 karakter."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2886,28 +3041,20 @@ msgstr ""
 msgid "Use this form to register a new application."
 msgstr ""
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "A név túl hosszú (max 255 karakter lehet)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Meg kell adnod forrás URL-t."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "A szervezet túl hosszú (255 karakter lehet)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Nem sikerült létrehozni az alkalmazást."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Új csoport"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Ezen az űrlapon tudsz új csoportot létrehozni."
@@ -2917,14 +3064,14 @@ msgid "New message"
 msgstr "Új üzenet"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Ennek a felhasználónak nem küldhetsz üzenetet."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Nincs tartalom!"
 
@@ -2933,7 +3080,7 @@ msgid "No recipient specified."
 msgstr "Nincs címzett megadva."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Ne küldj üzenetet magadnak, helyette mondd el halkan."
@@ -2944,12 +3091,12 @@ msgstr "Üzenet elküldve"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Közvetlen üzenet ment %s részére."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax-hiba"
 
@@ -2957,18 +3104,7 @@ msgstr "Ajax-hiba"
 msgid "New notice"
 msgstr "Új hír"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"Egy hír legfeljebb %d karakterből állhat, a melléklet URL-jét is beleértve."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Hír elküldve"
 
@@ -3097,25 +3233,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr ""
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr ""
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr ""
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Nem támogatott adatformátum."
@@ -3128,37 +3264,47 @@ msgstr "Emberek keresése"
 msgid "Notice Search"
 msgstr "Hírek keresése"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Egyéb beállítások"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Számos egyéb beállítás kezelése."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (ingyenes szolgáltatás)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr ""
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr ""
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
-msgstr ""
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
+msgstr "A nyelv túl hosszú (legfeljebb 50 karakter lehet)."
 
 #: actions/otp.php:69
 msgid "No user ID specified."
@@ -3600,8 +3746,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 kisbetű vagy számjegy, nem lehet benne írásjel vagy szóköz"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Teljes név"
@@ -3643,9 +3790,10 @@ msgid "Bio"
 msgstr "Életrajz"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Helyszín"
@@ -3974,7 +4122,8 @@ msgid "Unexpected password reset."
 msgstr ""
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "A jelszónak legalább 6 karakterből kell állnia."
 
 #: actions/recoverpassword.php:369
@@ -4196,7 +4345,7 @@ msgid "Repeated!"
 msgstr ""
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr ""
@@ -4323,11 +4472,12 @@ msgstr "Szervezet"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Leírás"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statisztika"
@@ -4345,6 +4495,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Törlés"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4428,77 +4583,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Ez az egyik módja annak, hogy megoszd amit kedvelsz."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s csoport"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s csoport, %2$d. oldal"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Csoportprofil"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL-cím"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Megjegyzés"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Álnevek"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Csoport-tevékenységek"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "%s csoport RSS 1.0 hírcsatornája"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "%s csoport RSS 2.0 hírcsatornája"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "%s csoport Atom hírcsatornája"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF a %s csoportnak"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Tagok"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(nincs)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Összes tag"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Létrehoztuk"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Tagok"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4514,7 +4698,10 @@ msgstr ""
 "[Csatlakozz](%%%%action.register%%%%), és légy tagja ennek a csoportnak - és "
 "még sok másiknak is! ([Tudj meg többet](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4523,24 +4710,31 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Adminisztrátorok"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Nincs ilyen üzenet."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Csak a küldő és a címzett olvashatja ezt az üzenetet."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr ""
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr ""
@@ -4549,60 +4743,84 @@ msgstr ""
 msgid "Notice deleted."
 msgstr "A hírt töröltük."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
 msgstr "  %s megcímkézve"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s és barátai, %2$d oldal"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr ""
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "RSS 1.0 csatorna %1$s %2$s címkéjű híreiből"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "%s RSS 1.0 hírcsatornája"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "%s RSS 2.0 hírcsatornája"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "%s Atom hírcsatornája"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr ""
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Ez %1$s története, de %2$s még nem tett közzé hírt."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4616,7 +4834,9 @@ msgstr ""
 "register%%%%) és kövesd nyomon **%s** pletykáit - és még rengeteg mást! "
 "([Tudj meg többet](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4627,7 +4847,8 @@ msgstr ""
 "wiki/Mikroblog#Mikroblog) ír egy webhelyen, ami a szabad [StatusNet](http://"
 "status.net/) szoftverre épült. "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "%s ismétlése"
@@ -4737,31 +4958,38 @@ msgstr "Duplázások korlátja"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr ""
 
@@ -4970,12 +5198,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr ""
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr ""
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr ""
 
@@ -5200,75 +5430,93 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr ""
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
-msgstr ""
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
+msgstr "Érvénytelen SSL szerver. A maximális hossz 255 karakter."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Bemutatkozás méretkorlátja"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Új felhasználók"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "A teljes név túl hosszú (legfeljebb 255 karakter lehet)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr ""
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Meghívások"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "A meghívások engedélyezve vannak"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5367,11 +5615,13 @@ msgstr ""
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr ""
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr ""
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5456,7 +5706,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr ""
 
@@ -5489,29 +5739,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr ""
 
@@ -5636,39 +5895,46 @@ msgid "Problem saving notice."
 msgstr "Probléma merült fel a hír mentése közben."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr ""
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Nem sikerült menteni a profilt."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s - %2$s"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5738,32 +6004,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Nem sikerült létrehozni a csoportot."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr ""
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Nem sikerült beállítani a csoporttagságot."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr ""
 
@@ -5813,194 +6079,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Név nélküli oldal"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Elsődleges navigáció"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Kontó"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Kapcsolódás"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr ""
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr ""
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr ""
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr ""
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr ""
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr ""
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "A webhely híre"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr ""
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr ""
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Másodlagos navigáció"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Súgó"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Névjegy"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "GyIK"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Felhasználási feltételek"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr ""
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Forrás"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kapcsolat"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr ""
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "A StatusNet szoftver licence"
 
@@ -6008,7 +6281,7 @@ msgstr "A StatusNet szoftver licence"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6016,7 +6289,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr ""
@@ -6025,7 +6298,7 @@ msgstr ""
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6034,50 +6307,50 @@ msgid ""
 msgstr ""
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "A webhely tartalmára vonatkozó licenc"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr ""
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Utána"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Előtte"
 
@@ -6156,7 +6429,7 @@ msgid "User configuration"
 msgstr "A felhasználók beállításai"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Felhasználó"
 
@@ -6420,7 +6693,7 @@ msgid "AJAX error"
 msgstr "Ajax-hiba"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr ""
 
@@ -6436,7 +6709,7 @@ msgstr ""
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr ""
 
@@ -6505,6 +6778,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s - %2$s"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6542,133 +6823,137 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
+msgstr[1] "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Hiba a közvetlen üzenet küldése közben."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr ""
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Hiba a hír ismétlésekor."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
+msgstr[1] "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr ""
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Hiba a hír elmentésekor."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Ne legyenek értesítések."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Legyenek értesítések."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Senkinek sem iratkoztál fel a híreire."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Ezen személy híreire iratkoztál fel:"
@@ -6676,14 +6961,14 @@ msgstr[1] "Ezen emberek híreire iratkoztál fel:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Senki sem követ figyelemmel."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Ez a személy iratkozott fel a híreidre:"
@@ -6691,21 +6976,21 @@ msgstr[1] "Ezek az emberek iratkoztak fel a híreidre:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Nem vagy tagja semmilyen csoportnak."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Ennek a csoportnak vagy tagja:"
 msgstr[1] "Ezeknek a csoportoknak vagy tagja:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6810,25 +7095,41 @@ msgstr ""
 msgid "Database error"
 msgstr "Adatbázishiba"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Fájl feltöltése"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"A szerver nem tudott feldolgozni ennyi POST-adatot (%s bájtot) a jelenlegi "
-"konfigurációja miatt."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Be"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Ki"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Alaphelyzet"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -6856,7 +7157,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -6894,7 +7196,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 kisbetű vagy számjegy, nem lehet benne írásjel vagy szóköz"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "A csoporthoz vagy témához tartozó honlap illetve blog URL-je"
 
 #: lib/groupeditform.php:168
@@ -6902,21 +7205,32 @@ msgid "Describe the group or topic"
 msgstr "Jellemezd a csoportot vagy a témát"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Jellemezd a csoportot vagy a témát %d karakterben"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Jellemezd a csoportot vagy a témát %d karakterben"
+msgstr[1] "Jellemezd a csoportot vagy a témát %d karakterben"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "A csoport földrajzi elhelyezkedése, ha van ilyen, pl. \"Város, Megye, Ország"
 "\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Extra becenevek a csoport számára, vesszővel vagy szóközökkel elválasztva, "
+"legfeljebb %d"
+msgstr[1] ""
 "Extra becenevek a csoport számára, vesszővel vagy szóközökkel elválasztva, "
 "legfeljebb %d"
 
@@ -7018,39 +7332,57 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "Nem támogatott képformátum."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Az a fájl túl nagy. A maximális fájlméret %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Részleges feltöltés."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr ""
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Elvesztettük a fájlt."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Ismeretlen fájltípus"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7291,7 +7623,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) az általad küldött hírt hozzáadta a kedvenceihez"
@@ -7301,7 +7633,7 @@ msgstr "%s (@%s) az általad küldött hírt hozzáadta a kedvenceihez"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7339,7 +7671,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7349,7 +7681,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) figyelmedbe ajánlott egy hírt"
@@ -7360,7 +7692,7 @@ msgstr "%s (@%s) figyelmedbe ajánlott egy hírt"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7420,7 +7752,7 @@ msgstr "Sajnos az nem a te bejövő email-címed."
 msgid "Sorry, no incoming email allowed."
 msgstr "Sajnos a bejövő email nincs engedélyezve."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Nem támogatott üzenet-típus: %s"
@@ -7482,7 +7814,7 @@ msgstr "Nem sikerült a fájl MIME-típusát megállapítani."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7491,7 +7823,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7630,31 +7962,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr ""
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Személyes"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Válaszok"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Kedvencek"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "A bejövő üzeneteid"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "A küldött üzeneteid"
 
@@ -7761,16 +8093,17 @@ msgid "Sandbox this user"
 msgstr ""
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr ""
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7851,6 +8184,12 @@ msgstr ""
 msgid "None"
 msgstr ""
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Érvénytelen megjegyzéstartalom."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7860,8 +8199,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr ""
 
@@ -7871,29 +8210,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr ""
 
@@ -7901,6 +8243,13 @@ msgstr ""
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Blokk feloldása"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8067,16 +8416,21 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
 msgstr[1] "Az túl hosszú. Egy hír legfeljebb %d karakterből állhat."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr ""
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 6314e101d5f04d9ead8409d828f795a9c8ab0d2c..57146163c1f62f8a5e95b6d2cbe044725fa2d9fa 100644 (file)
@@ -9,17 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:06+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:23+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -76,15 +76,22 @@ msgstr "Salveguardar configurationes de accesso"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Salveguardar"
@@ -115,6 +122,7 @@ msgstr "Pagina non existe."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -127,14 +135,14 @@ msgstr "Pagina non existe."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Iste usator non existe."
@@ -151,7 +159,7 @@ msgstr "%1$s e amicos, pagina %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amicos"
@@ -207,7 +215,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -307,11 +317,12 @@ msgstr "Non poteva actualisar le usator."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -324,11 +335,13 @@ msgstr "Non poteva salveguardar le profilo."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -503,43 +516,53 @@ msgstr "Non poteva determinar le usator de origine."
 msgid "Could not find target user."
 msgstr "Non poteva trovar le usator de destination."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Pseudonymo ja in uso. Proba un altere."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Non un pseudonymo valide."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Le pagina personal non es un URL valide."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "Le nomine complete es troppo longe (maximo 255 characteres)."
@@ -547,10 +570,14 @@ msgstr "Le nomine complete es troppo longe (maximo 255 characteres)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -558,16 +585,23 @@ msgstr[0] "Description es troppo longe (maximo %d characteres)."
 msgstr[1] "Description es troppo longe (maximo %d characteres)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "Loco es troppo longe (maximo 255 characteres)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -583,15 +617,19 @@ msgstr "Alias invalide: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Le alias \"%s\" es ja in uso. Proba un altere."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Le alias non pote esser identic al pseudonymo."
 
@@ -694,21 +732,21 @@ msgid "Request token already authorized."
 msgstr "Indicio de requesta jam autorisate."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
 
@@ -724,17 +762,19 @@ msgstr ""
 "Error del base de datos durante le insertion de oauth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Submission de formulario inexpectate."
 
@@ -783,9 +823,10 @@ msgstr "Conto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -879,20 +920,21 @@ msgstr "Tu non pote deler le stato de un altere usator."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nota non trovate."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Non pote repeter tu proprie nota."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Iste nota ha ja essite repetite."
 
@@ -913,7 +955,8 @@ msgstr "Le cliente debe fornir un parametro 'status' con un valor."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -929,7 +972,7 @@ msgstr "Nota genitor non trovate."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1036,105 +1079,137 @@ msgstr "Methodo API in construction."
 msgid "User not found."
 msgstr "Usator non trovate."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Annexo non existe."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Nulle pseudonymo."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Nulle dimension."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Dimension invalide."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Tu pote incargar tu avatar personal. Le dimension maximal del file es %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Usator sin profilo correspondente"
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configuration del avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Previsualisation"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Deler"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Incargar"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Taliar"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Nulle file incargate."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Selige un area quadrate del imagine pro facer lo tu avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Datos del file perdite."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar actualisate."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Actualisation del avatar fallite."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar delite."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Tu ha ja blocate iste usator."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Blocar usator"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1150,8 +1225,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1159,7 +1234,7 @@ msgstr "No"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Non blocar iste usator"
 
@@ -1169,8 +1244,8 @@ msgstr "Non blocar iste usator"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1178,140 +1253,168 @@ msgstr "Si"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Blocar iste usator"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Falleva de salveguardar le information del blocada."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Gruppo non existe."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s profilos blocate"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s profilos blocate, pagina %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Un lista del usatores excludite del membrato de iste gruppo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Disblocar le usator del gruppo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Disblocar"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Disblocar iste usator"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publicar in %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Nulle codice de confirmation."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Codice de confirmation non trovate."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Iste codice de confirmation non es pro te!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Le typo de adresse %s non es recognoscite."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Iste adresse ha ja essite confirmate."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Non poteva actualisar usator."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Non poteva deler confirmation de e-mail."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
+msgstr "Non poteva deler le confirmation de adresse."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmar adresse"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Le adresse \"%s\" ha essite confirmate pro tu conto."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversation"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notas"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Tu debe aperir un session pro deler un application."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Application non trovate."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Tu non es le proprietario de iste application."
@@ -1319,15 +1422,18 @@ msgstr "Tu non es le proprietario de iste application."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Il habeva un problema con tu indicio de session."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Deler application"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1338,12 +1444,12 @@ msgstr ""
 "de usator."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Non deler iste application"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Deler iste application"
 
@@ -1377,12 +1483,13 @@ msgstr "Non poteva deler le gruppo %s."
 msgid "Deleted group %s"
 msgstr "Deleva gruppo %s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Deler gruppo"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1403,22 +1510,27 @@ msgstr "Non deler iste gruppo"
 msgid "Delete this group"
 msgstr "Deler iste gruppo"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Tu non ha aperite un session."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Non pote deler iste nota."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1426,21 +1538,24 @@ msgstr ""
 "Tu es super le puncto de deler permanentemente un nota. Un vice facite, isto "
 "non pote esser disfacite."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Deler nota"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Es tu secur de voler deler iste nota?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Non deler iste nota"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Deler iste nota"
 
@@ -1526,12 +1641,14 @@ msgstr ""
 "Es possibile incargar un apparentia personalisate de StatusNet in un "
 "archivo .ZIP."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Cambiar imagine de fundo"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fundo"
 
@@ -1545,40 +1662,48 @@ msgstr ""
 "file es %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Active"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Non active"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Activar o disactivar le imagine de fundo."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Tegular le imagine de fundo"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Cambiar colores"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Contento"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra lateral"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Ligamines"
 
@@ -1590,29 +1715,31 @@ msgstr "Avantiate"
 msgid "Custom CSS"
 msgstr "CSS personalisate"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Usar predefinitiones"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaurar apparentias predefinite"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Revenir al predefinitiones"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Salveguardar"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Salveguardar apparentia"
 
@@ -1656,9 +1783,9 @@ msgid "Name is required."
 msgstr "Le nomine es requirite."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
-msgstr "Le nomine es troppo longe (max. 255 characteres)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
+msgstr "Le nomine es troppo longe (maximo 255 characteres)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
 #: actions/editapplication.php:192 actions/newapplication.php:166
@@ -1686,7 +1813,7 @@ msgid "Organization is required."
 msgstr "Le organisation es requirite."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Le organisation es troppo longe (maximo 255 characteres)."
 
@@ -1709,49 +1836,49 @@ msgstr "Le URL de retorno non es valide."
 msgid "Could not update application."
 msgstr "Non poteva actualisar application."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Modificar gruppo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Tu debe aperir un session pro crear un gruppo."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Tu debe esser administrator pro modificar le gruppo."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Usa iste formulario pro modificar le gruppo."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Description es troppo longe (max %d charachteres)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Troppo de aliases! Maximo: %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Alias invalide: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Non poteva actualisar gruppo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Non poteva crear aliases."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Optiones salveguardate."
 
@@ -1944,6 +2071,12 @@ msgstr "Nulle confirmation pendente a cancellar."
 msgid "That is the wrong email address."
 msgstr "Iste adresse de e-mail es erronee."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Non poteva deler confirmation de e-mail."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2026,7 +2159,7 @@ msgstr ""
 "nota a tu favorites!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Notas favorite de %s"
@@ -2123,19 +2256,23 @@ msgstr "Tu non pote conceder rolos a usatores in iste sito."
 msgid "User already has this role."
 msgstr "Le usator ha ja iste rolo."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Nulle profilo specificate."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Non existe un profilo con iste ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Nulle gruppo specificate."
@@ -2201,8 +2338,10 @@ msgstr ""
 "Personalisa le apparentia de tu gruppo con un imagine de fundo e un paletta "
 "de colores de tu preferentia."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Non poteva actualisar tu apparentia."
 
@@ -2222,6 +2361,14 @@ msgstr ""
 "Tu pote incargar un imagine pro le logotypo de tu gruppo. Le dimension "
 "maximal del file es %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Incargar"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Taliar"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Selige un area quadrate del imagine que devenira le logotypo."
@@ -2364,15 +2511,18 @@ msgstr ""
 "Proque non [registrar un conto](%%action.register%%) e [crear le gruppo](%%"
 "action.newgroup%%) tu mesme?"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Solmente un administrator pote disblocar membros de un gruppo."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Le usator non es blocate del gruppo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Error de remover le blocada."
 
@@ -2462,7 +2612,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar un MicroID pro mi adresse Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferentias confirmate."
 
@@ -2585,10 +2735,9 @@ msgstr[1] "Tu es ja subscribite a iste usatores:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2773,7 +2922,7 @@ msgstr ""
 "derectos reservate\"."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Titulo de licentia invalide. Longitude maximal es 255 characteres."
 
 #: actions/licenseadminpanel.php:168
@@ -2947,26 +3096,20 @@ msgstr "Tu debe aperir un session pro registrar un application."
 msgid "Use this form to register a new application."
 msgstr "Usa iste formulario pro registrar un nove application."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Le nomine es troppo longe (maximo 255 characteres)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Le URL de origine es requirite."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Le organisation es troppo longe (maximo 255 characteres)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Non poteva crear application."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nove gruppo"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Usa iste formulario pro crear un nove gruppo."
@@ -2976,14 +3119,14 @@ msgid "New message"
 msgstr "Nove message"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Tu non pote inviar un message a iste usator."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Nulle contento!"
 
@@ -2992,7 +3135,7 @@ msgid "No recipient specified."
 msgstr "Nulle destinatario specificate."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Non invia un message a te mesme; il suffice susurrar lo discretemente."
@@ -3003,12 +3146,12 @@ msgstr "Message inviate"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Message directe a %s inviate."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Error de Ajax"
 
@@ -3016,20 +3159,7 @@ msgstr "Error de Ajax"
 msgid "New notice"
 msgstr "Nove nota"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-"Isto es troppo longe. Le longitude maximal del notas es %d characteres."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"Le longitude maximal del notas es %d characteres, includente le URL "
-"adjungite."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Nota publicate"
 
@@ -3171,25 +3301,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Le nota ha nulle profilo."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Le stato de %1$s in %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Le typo de contento %s non es supportate."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Solmente le URLs %s es permittite super HTTP simple."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Formato de datos non supportate."
@@ -3202,37 +3332,47 @@ msgstr "Recerca de personas"
 msgid "Notice Search"
 msgstr "Rercerca de notas"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Altere configurationes"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gestion de varie altere optiones."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr "  (servicio gratuite)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Accurtar URLs con"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Le servicio de accurtamento automatic a usar."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Vider apparentias de profilo"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Monstrar o celar apparentias de profilo."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
-msgstr "Le servicio de accurtamento de URL es troppo longe (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
+msgstr ""
+"Le servicio de accurtamento de URL es troppo longe (maximo 50 characteres)."
 
 #: actions/otp.php:69
 msgid "No user ID specified."
@@ -3658,8 +3798,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 minusculas o numeros, sin punctuation o spatios."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nomine complete"
@@ -3698,9 +3839,10 @@ msgid "Bio"
 msgstr "Bio"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Loco"
@@ -4039,7 +4181,7 @@ msgid "Unexpected password reset."
 msgstr "Reinitialisation inexpectate del contrasigno."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+msgid "Password must be 6 characters or more."
 msgstr "Le contrasigno debe haber 6 characteres o plus."
 
 #: actions/recoverpassword.php:369
@@ -4283,7 +4425,7 @@ msgid "Repeated!"
 msgstr "Repetite!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Responsas a %s"
@@ -4416,11 +4558,12 @@ msgstr "Organisation"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Description"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statisticas"
@@ -4438,6 +4581,11 @@ msgstr "Actiones de application"
 msgid "Reset key & secret"
 msgstr "Reinitialisar clave e secreto"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Deler"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Info del application"
@@ -4531,77 +4679,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Isto es un modo de condivider lo que te place."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Gruppo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Gruppo %1$s, pagina %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Profilo del gruppo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Nota"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliases"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Actiones del gruppo"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Syndication de notas pro le gruppo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Syndication de notas pro le gruppo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Syndication de notas pro le gruppo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Amico de un amico pro le gruppo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membros"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Nulle)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Tote le membros"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Create"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membros"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4616,7 +4791,10 @@ msgstr ""
 "lor vita e interesses. [Crea un conto](%%%%action.register%%%%) pro devenir "
 "parte de iste gruppo e multe alteres! ([Lege plus](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4629,24 +4807,31 @@ msgstr ""
 "[StatusNet](http://status.net/). Su membros condivide breve messages super "
 "lor vita e interesses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administratores"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Message non existe."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Solmente le expeditor e destinatario pote leger iste message."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Message a %1$s in %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Message de %1$s in %2$s"
@@ -4655,48 +4840,68 @@ msgstr "Message de %1$s in %2$s"
 msgid "Notice deleted."
 msgstr "Nota delite."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, php-format
-msgid " tagged %s"
-msgstr "  con etiquetta %s"
+msgid "%1$s tagged %2$s"
+msgstr "%1$s etiquettate con %2$s"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s etiquettate con %2$s, pagina %3$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, pagina %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Syndication de notas pro %1$s con etiquetta %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Syndication de notas pro %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Syndication de notas pro %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Syndication de notas pro %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "Amico de un amico pro %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
-"Isto es le chronologia pro %1$s, ma %2$s non ha ancora publicate alique."
+"Isto es le chronologia pro %1$s, ma %1$s non ha ancora publicate alique."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4704,7 +4909,9 @@ msgstr ""
 "Videva tu qualcosa de interessante recentemente? Tu non ha ancora publicate "
 "alcun nota, dunque iste es un bon momento pro comenciar :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4713,7 +4920,9 @@ msgstr ""
 "Tu pote tentar dar un pulsata a %1$s o [publicar un nota a su attention](%%%%"
 "action.newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4727,7 +4936,9 @@ msgstr ""
 "pro sequer le notas de **%s** e multe alteres! ([Lege plus](%%%%doc.help%%%"
 "%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4738,7 +4949,8 @@ msgstr ""
 "(http://en.wikipedia.org/wiki/Microblog) a base del software libere "
 "[StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetition de %s"
@@ -4852,32 +5064,39 @@ msgstr ""
 "Quante tempore (in secundas) le usatores debe attender ante de poter "
 "publicar le mesme cosa de novo."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Aviso del sito"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Modificar message a tote le sito"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Impossibile salveguardar le aviso del sito."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Le longitude maxime del aviso a tote le sito es 255 characteres."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto del aviso del sito"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
-"Le texto del aviso a tote le sito (max. 255 characteres; HTML permittite)"
+"Le texto del aviso a tote le sito (maximo 255 characteres; HTML permittite)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Salveguardar aviso del sito"
 
@@ -5093,12 +5312,14 @@ msgstr "Le instantaneos essera inviate a iste URL"
 msgid "Save snapshot settings"
 msgstr "Salveguardar configuration de instantaneos"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Tu non es subscribite a iste profilo."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Non poteva salveguardar le subscription."
 
@@ -5340,75 +5561,91 @@ msgstr ""
 "licentia del sito ‘%2$s’."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Usator"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Configurationes de usator pro iste sito de StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite de biographia invalide. Debe esser un numero."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
-msgstr "Texto de benvenita invalide. Longitude maximal es 255 characteres."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
+msgstr "Texto de benvenita invalide. Longitude maxime es 255 characteres."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Subscription predefinite invalide: '%1$s' non es usator."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profilo"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limite de biographia"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Le longitude maximal del biographia de un profilo in characteres."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nove usatores"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Message de benvenita a nove usatores"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr "Texto de benvenita pro nove usatores (max. 255 characteres)"
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "Texto de benvenita pro nove usatores (maximo 255 characteres)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Subscription predefinite"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Subscriber automaticamente le nove usatores a iste usator."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitationes"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Invitationes activate"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Si le usatores pote invitar nove usatores."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Salveguardar configurationes de usator"
 
@@ -5515,11 +5752,13 @@ msgstr "Non pote leger URL de avatar ‘%s’."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Typo de imagine incorrecte pro URL de avatar ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Apparentia del profilo"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5619,7 +5858,7 @@ msgid "Plugins"
 msgstr "Plug-ins"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Version"
 
@@ -5652,31 +5891,42 @@ msgstr "Robin pensa que alique es impossibile."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Nulle file pote esser plus grande que %1$d byte e le file que tu inviava ha %"
+"2$d bytes. Tenta incargar un version minus grande."
+msgstr[1] ""
 "Nulle file pote esser plus grande que %1$d bytes e le file que tu inviava ha "
 "%2$d bytes. Tenta incargar un version minus grande."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Un file de iste dimension excederea tu quota de usator de %d bytes."
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "Un file de iste dimension excederea tu quota de usator de %d byte."
+msgstr[1] "Un file de iste dimension excederea tu quota de usator de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Un file de iste dimension excederea tu quota mensual de %d bytes."
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Un file de iste dimension excederea tu quota mensual de %d byte."
+msgstr[1] "Un file de iste dimension excederea tu quota mensual de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nomine de file invalide."
 
@@ -5805,39 +6055,46 @@ msgid "Problem saving notice."
 msgstr "Problema salveguardar nota."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
-msgstr "Mal typo fornite a saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
+msgstr "Mal typo fornite a saveKnownGroups."
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problema salveguardar le cassa de entrata del gruppo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Non poteva salveguardar le responsa pro %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Non pote revocar le rolo \"%1$s\" del usator #%2$d; non existe."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5909,32 +6166,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Benvenite a %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Nulle signule usator definite pro le modo de singule usator."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr "Codice in modo de usator singule appellate sin esser activate."
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Non poteva crear gruppo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Non poteva definir le URL del gruppo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Non poteva configurar le membrato del gruppo."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Non poteva salveguardar le informationes del gruppo local."
 
@@ -5984,194 +6241,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Pagina sin titulo"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "Monstrar plus"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navigation primari del sito"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Profilo personal e chronologia de amicos"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Cambiar tu e-mail, avatar, contrasigno, profilo"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Conto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Connecter a servicios"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Connecter"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Modificar le configuration del sito"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Admin"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invitar amicos e collegas a accompaniar te in %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Invitar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Terminar le session del sito"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Clauder session"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Crear un conto"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Crear conto"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Authenticar te a iste sito"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Aperir session"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Adjuta me!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Adjuta"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Cercar personas o texto"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Cercar"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Aviso del sito"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Vistas local"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Aviso de pagina"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navigation secundari del sito"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Adjuta"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "A proposito"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "CdS"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Confidentialitate"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Fonte"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contacto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Insignia"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licentia del software StatusNet"
 
@@ -6179,7 +6443,7 @@ msgstr "Licentia del software StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6189,7 +6453,7 @@ msgstr ""
 "%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** es un servicio de microblog."
@@ -6198,7 +6462,7 @@ msgstr "**%%site.name%%** es un servicio de microblog."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6210,51 +6474,51 @@ msgstr ""
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licentia del contento del sito"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Le contento e datos de %1$s es private e confidential."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "Contento e datos sub copyright de %1$s. Tote le derectos reservate."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Contento e datos sub copyright del contributores. Tote le derectos reservate."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Tote le contento e datos de %1$s es disponibile sub le licentia %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Pagination"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Post"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Ante"
 
@@ -6335,7 +6599,7 @@ msgid "User configuration"
 msgstr "Configuration del usator"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Usator"
 
@@ -6604,7 +6868,7 @@ msgid "AJAX error"
 msgstr "Error de Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Commando complete"
 
@@ -6620,7 +6884,7 @@ msgstr "Non existe un nota con iste ID."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Le usator non ha un ultime nota."
 
@@ -6689,6 +6953,14 @@ msgstr "%1$s se jungeva al gruppo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s quitava le gruppo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6728,113 +7000,117 @@ msgstr ""
 "%s es un profilo remote; tu pote solmente inviar messages directe a usatores "
 "super le mesme servitor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Message troppo longe - maximo es %1$d characteres, tu inviava %2$d."
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Message troppo longe - maximo es %1$d character, tu inviava %2$d."
+msgstr[1] "Message troppo longe - maximo es %1$d characteres, tu inviava %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Error durante le invio del message directe."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Nota de %s repetite."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Error durante le repetition del nota."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Nota troppo longe - maximo es %d characteres, tu inviava %d."
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Nota troppo longe - maximo es %1$d character, tu inviava %2$d."
+msgstr[1] "Nota troppo longe - maximo es %1$d characteres, tu inviava %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Responsa a %s inviate."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Errur durante le salveguarda del nota."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Specifica le nomine del usator al qual subscriber te."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Impossibile subscriber se a profilos OMB per medio de un commando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subscribite a %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Specifica le nomine del usator al qual cancellar le subscription."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Subscription a %s cancellate."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Commando non ancora implementate."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notification disactivate."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Non pote disactivar notification."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notification activate."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Non pote activar notification."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Le commando de apertura de session es disactivate."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6843,20 +7119,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Subscription de %s cancellate."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Tu non es subscribite a alcuno."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Tu es subscribite a iste persona:"
@@ -6864,14 +7140,14 @@ msgstr[1] "Tu es subscribite a iste personas:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Necuno es subscribite a te."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Iste persona es subscribite a te:"
@@ -6879,21 +7155,21 @@ msgstr[1] "Iste personas es subscribite a te:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Tu non es membro de alcun gruppo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Tu es membro de iste gruppo:"
 msgstr[1] "Tu es membro de iste gruppos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7035,10 +7311,13 @@ msgstr "Applicationes autorisate connectite"
 msgid "Database error"
 msgstr "Error de base de datos"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Incargar file"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7046,16 +7325,26 @@ msgstr ""
 "Tu pote actualisar tu imagine de fundo personal. Le dimension maximal del "
 "file es 2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Le servitor non ha potite tractar tante datos POST (%s bytes) a causa de su "
-"configuration actual."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr "Active"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Non active"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Reinitialisar"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Apparentia predefinite restaurate."
 
@@ -7083,7 +7372,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Amico de un amico"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Syndicationes"
 
@@ -7121,8 +7411,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
-msgstr "URL del pagina initial o blog del gruppo o topico"
+msgid "URL of the homepage or blog of the group or topic."
+msgstr "URL del pagina initial o blog del gruppo o topico."
 
 #: lib/groupeditform.php:168
 msgid "Describe the group or topic"
@@ -7130,20 +7420,30 @@ msgstr "Describe le gruppo o topico"
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Describe le gruppo o topico in %d characteres"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Describe le gruppo o topico in %d character o minus"
+msgstr[1] "Describe le gruppo o topico in %d characteres o minus"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
-"Loco del gruppo, si existe, como \"Citate, Provincia (o Region), Pais\""
+"Loco del gruppo, si existe, como \"Citate, Provincia (o Region), Pais\"."
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
-"Pseudonymos additional pro le gruppo, separate per commas o spatios, max %d"
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Pseudonymo additional pro le gruppo. Solmente %d alias es permittite."
+msgstr[1] ""
+"Pseudonymos additional pro le gruppo, separate per commas o spatios. Un "
+"maximo de %d aliases es permittite."
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7243,39 +7543,57 @@ msgstr "Iste pagina non es disponibile in un formato que tu accepta"
 msgid "Unsupported image file format."
 msgstr "Formato de file de imagine non supportate."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Iste file es troppo grande. Le dimension maximal es %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Incargamento partial."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Error de systema durante le incargamento del file."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Le file non es un imagine o es defectuose."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "File perdite."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Typo de file incognite"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "%dMB"
+msgstr[1] "%dMB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "KB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "%dKB"
+msgstr[1] "%dKB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] "%dB"
+msgstr[1] "%dB"
 
 #: lib/jabber.php:387
 #, php-format
@@ -7525,7 +7843,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) ha addite tu nota como favorite"
@@ -7535,7 +7853,7 @@ msgstr "%1$s (@%2$s) ha addite tu nota como favorite"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7574,7 +7892,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7587,7 +7905,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%1$s (@%2$s) ha inviate un nota a tu attention"
@@ -7598,7 +7916,7 @@ msgstr "%1$s (@%2$s) ha inviate un nota a tu attention"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7680,7 +7998,7 @@ msgstr "Pardono, isto non es tu adresse de e-mail entrante."
 msgid "Sorry, no incoming email allowed."
 msgstr "Pardono, le reception de e-mail non es permittite."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Typo de message non supportate: %s"
@@ -7746,7 +8064,7 @@ msgstr "Non poteva determinar le typo MIME del file."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7757,7 +8075,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" non es un typo de file supportate in iste servitor."
@@ -7898,31 +8216,31 @@ msgstr "Nota duplicate."
 msgid "Couldn't insert new subscription."
 msgstr "Non poteva inserer nove subscription."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Responsas"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favorites"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Cassa de entrata"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Tu messages recipite"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Cassa de exito"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Tu messages inviate"
 
@@ -8028,16 +8346,17 @@ msgid "Sandbox this user"
 msgstr "Mitter iste usator in le cassa de sablo"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Cercar in sito"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Parola(s)-clave"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8118,6 +8437,11 @@ msgstr "Nube de etiquetta de personas como etiquettate"
 msgid "None"
 msgstr "Nulle"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+msgid "Invalid theme name."
+msgstr "Nomine de apparentia invalide."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8129,8 +8453,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Le file del apparentia manca o le incargamento ha fallite."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Salveguarda del apparentia fallite."
 
@@ -8140,16 +8464,21 @@ msgstr "Apparentia invalide: mal structura de directorios."
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Le apparentia incargate es troppo voluminose; debe occupar minus de %d byte "
+"in forma non comprimite."
+msgstr[1] ""
 "Le apparentia incargate es troppo voluminose; debe occupar minus de %d bytes "
 "in forma non comprimite."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Archivo de apparentia invalide: manca le file css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8157,18 +8486,18 @@ msgstr ""
 "Le apparentia contine un nomine de file o dossier invalide. Limita te a "
 "litteras ASCII, digitos, sublineamento, e signo minus."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "Le thema contine nomines de extension de file insecur; pote esser insecur."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 "Le apparentia contine un file del typo '.%s', le qual non es permittite."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Error durante le apertura del archivo del apparentia."
 
@@ -8176,6 +8505,12 @@ msgstr "Error durante le apertura del archivo del apparentia."
 msgid "Top posters"
 msgstr "Qui scribe le plus"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Disblocar"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Retirar del cassa de sablo"
@@ -8342,16 +8677,21 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Message troppo longe. Maximo es %1$d character, tu inviava %2$d."
 msgstr[1] "Message troppo longe. Maximo es %1$d characteres, tu inviava %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "File de copia de reserva pro le usator %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr "Obtene copia de reserva ex file '%s'."
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Nulle usator specificate; le usator de reserva es usate."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr "%d entratas in copia de reserva."
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d entrata in copia de reserva."
+msgstr[1] "%d entratas in copia de reserva."
index 94c7d592beb5692fa97053a513562edcf98cd3e0..12ae0b7f17de04a6660958b9873f28abc5c85385 100644 (file)
@@ -9,17 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:08+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:32+0000\n"
 "Language-Team: Icelandic <http://translatewiki.net/wiki/Portal:is>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: is\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -82,15 +82,22 @@ msgstr "Stillingar fyrir mynd"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 #, fuzzy
 msgctxt "BUTTON"
 msgid "Save"
@@ -123,6 +130,7 @@ msgstr "Ekkert þannig merki."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -135,14 +143,14 @@ msgstr "Ekkert þannig merki."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Enginn svoleiðis notandi."
@@ -159,7 +167,7 @@ msgstr "%s og vinirnir"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s og vinirnir"
@@ -209,7 +217,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -308,11 +318,12 @@ msgstr "Gat ekki uppfært notanda."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -326,11 +337,13 @@ msgstr "Gat ekki vistað persónulega síðu."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -513,43 +526,53 @@ msgstr "Gat ekki uppfært notanda."
 msgid "Could not find target user."
 msgstr "Gat ekki uppfært notanda."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Stuttnefni geta bara verið lágstafir og tölustafir en engin bil."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Stuttnefni nú þegar í notkun. Prófaðu eitthvað annað."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Ekki tækt stuttnefni."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Heimasíða er ekki gild vefslóð."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -558,10 +581,14 @@ msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -569,9 +596,11 @@ msgstr[0] "Staðsetning er of löng (í mesta lagi %d stafir)."
 msgstr[1] "Staðsetning er of löng (í mesta lagi %d stafir)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -579,7 +608,12 @@ msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -595,15 +629,19 @@ msgstr "Ógilt merki: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, fuzzy, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Stuttnefni nú þegar í notkun. Prófaðu eitthvað annað."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -712,21 +750,21 @@ msgid "Request token already authorized."
 msgstr "Þú ert ekki áskrifandi."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Það kom upp vandamál með setutókann þinn. Vinsamlegast reyndu aftur."
 
@@ -743,17 +781,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Gagnagrunnsvilla við innsetningu myllumerkis: %s"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Bjóst ekki við innsendingu eyðublaðs."
 
@@ -797,9 +837,10 @@ msgstr "Aðgangur"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -893,21 +934,22 @@ msgstr "Þú getur ekki eytt stöðu annars notanda."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Ekkert svoleiðis babl."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 #, fuzzy
 msgid "Cannot repeat your own notice."
 msgstr "Get ekki kveikt á tilkynningum."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Get ekki eytt þessu babli."
 
@@ -928,7 +970,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -943,7 +986,7 @@ msgstr "Aðferð í forritsskilum fannst ekki!"
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1049,108 +1092,143 @@ msgstr "Aðferð í forritsskilum er í þróun."
 msgid "User not found."
 msgstr "Aðferð í forritsskilum fannst ekki!"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 #, fuzzy
 msgid "No such attachment."
 msgstr "Ekkert þannig merki."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Ekkert stuttnefni."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Engin stærð."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ótæk stærð."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Mynd"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, fuzzy, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Notandi hefur enga persónulega síðu."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Stillingar fyrir mynd"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Upphafleg mynd"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Forsýn"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Eyða"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Hlaða upp"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Skera af"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 #, fuzzy
 msgid "No file uploaded."
 msgstr "Engin persónuleg síða tilgreind"
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 "Veldu ferningslaga svæði á upphaflegu myndinni sem einkennismyndina þína"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Týndum skráargögnunum okkar"
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Mynd hefur verið uppfærð."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Mistókst að uppfæra mynd"
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 #, fuzzy
 msgid "Avatar deleted."
 msgstr "Mynd hefur verið uppfærð."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Þú ert nú þegar í áskrift að þessum notendum:"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Loka á notanda"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1163,8 +1241,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1172,7 +1250,7 @@ msgstr "Athugasemd"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 #, fuzzy
 msgid "Do not block this user"
 msgstr "Opna á þennan notanda"
@@ -1183,8 +1261,8 @@ msgstr "Opna á þennan notanda"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 #, fuzzy
 msgctxt "BUTTON"
@@ -1193,144 +1271,174 @@ msgstr "Já"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Loka á þennan notanda"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Mistókst að vista upplýsingar um notendalokun"
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Enginn þannig hópur."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, fuzzy, php-format
 msgid "%s blocked profiles"
 msgstr "Persónuleg síða notanda"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, fuzzy, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%s og vinirnir, síða %d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "Listi yfir notendur í þessum hóp."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 #, fuzzy
 msgid "Unblock user from group"
 msgstr "Mistókst að opna fyrir notanda."
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Opna"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Opna á þennan notanda"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Svör við %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Enginn staðfestingarlykill."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Staðfestingarlykill fannst ekki."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Þessi staðfestingarlykill er ekki fyrir þig!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "Óþekkt gerð tölvupóstfangs %s"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Þetta tölvupóstfang hefur nú þegar verið staðfest."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Gat ekki uppfært notanda."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Gat ekki eytt tölvupóstsstaðfestingu."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Núverandi staðfesta tölvupóstfangið."
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr ""
 "Þetta tölvupóstfang, \"%s\", hefur verið staðfest fyrir aðganginn þinn."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 #, fuzzy
 msgid "Conversation"
 msgstr "Staðfestingarlykill"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Babl"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Þú verður aða hafa skráð þig inn til að ganga úr hóp."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Staðfestingarlykill fannst ekki."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 #, fuzzy
 msgid "You are not the owner of this application."
@@ -1339,16 +1447,19 @@ msgstr "Þú ert ekki meðlimur í þessum hópi."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Það komu upp vandamál varðandi setutókann þinn."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 #, fuzzy
 msgid "Delete application"
 msgstr "Ekkert svoleiðis babl."
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1356,12 +1467,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Get ekki eytt þessu babli."
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 #, fuzzy
 msgid "Delete this application"
 msgstr "Eyða þessu babli"
@@ -1399,13 +1510,14 @@ msgstr "Gat ekki uppfært hóp."
 msgid "Deleted group %s"
 msgstr "Staða %1$s á %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Eyða"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1425,43 +1537,51 @@ msgstr "Get ekki eytt þessu babli."
 msgid "Delete this group"
 msgstr "Eyða þessu babli"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Ekki innskráð(ur)."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Get ekki eytt þessu babli."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Eyða babli"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Ertu viss um að þú viljir eyða þessu babli?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 #, fuzzy
 msgid "Do not delete this notice"
 msgstr "Get ekki eytt þessu babli."
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Eyða þessu babli"
 
@@ -1555,12 +1675,14 @@ msgstr "Babl vefsíðunnar"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr ""
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr ""
 
@@ -1572,43 +1694,51 @@ msgid ""
 msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr ""
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr ""
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr ""
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr ""
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 #, fuzzy
 msgid "Change colours"
 msgstr "Breyta lykilorðinu þínu"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 #, fuzzy
 msgid "Content"
 msgstr "Tengjast"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 #, fuzzy
 msgid "Sidebar"
 msgstr "Leita"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texti"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 #, fuzzy
 msgid "Links"
 msgstr "Innskráning"
@@ -1621,29 +1751,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr ""
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr ""
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Vista"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr ""
 
@@ -1691,9 +1823,9 @@ msgid "Name is required."
 msgstr "Sama og lykilorðið hér fyrir ofan. Nauðsynlegt."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1725,7 +1857,7 @@ msgid "Organization is required."
 msgstr ""
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
@@ -1750,50 +1882,50 @@ msgstr ""
 msgid "Could not update application."
 msgstr "Gat ekki uppfært hóp."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Breyta hópnum %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Notaðu þetta eyðublað til að breyta hópnum."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Staðsetning er of löng (í mesta lagi %d stafir)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, fuzzy, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ógilt merki: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Gat ekki uppfært hóp."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 #, fuzzy
 msgid "Could not create aliases."
 msgstr "Gat ekki búið til uppáhald."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Valmöguleikar vistaðir."
 
@@ -1991,6 +2123,12 @@ msgstr "Engin staðfesting í bið sem þarf að hætta við."
 msgid "That is the wrong email address."
 msgstr "Þetta er rangt snarskilaboðafang."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Gat ekki eytt tölvupóstsstaðfestingu."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2068,7 +2206,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Uppáhaldsbabl %s"
@@ -2176,19 +2314,23 @@ msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu."
 msgid "User already has this role."
 msgstr "Notandi hefur enga persónulega síðu."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Engin persónuleg síða tilgreind"
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Engin persónulega síða með þessu einkenni"
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 #, fuzzy
 msgid "No group specified."
@@ -2257,8 +2399,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 #, fuzzy
 msgid "Couldn't update your design."
 msgstr "Gat ekki uppfært hóp."
@@ -2278,6 +2422,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Hlaða upp"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Skera af"
+
 #: actions/grouplogo.php:365
 #, fuzzy
 msgid "Pick a square area of the image to be the logo."
@@ -2414,16 +2566,19 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 #, fuzzy
 msgid "User is not blocked from group."
 msgstr "Notandinn hefur lokað á þig."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Vill kom upp við að aflétta notendalokun."
 
@@ -2515,7 +2670,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Birta MicroID fyrir Jabber/GTalk netfangið mitt."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Stillingar vistaðar."
 
@@ -2640,10 +2795,9 @@ msgstr[1] "Þú ert nú þegar í áskrift að þessum notendum:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2829,8 +2983,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -3011,29 +3166,21 @@ msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
 msgid "Use this form to register a new application."
 msgstr "Notaðu þetta eyðublað til að búa til nýjan hóp."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr ""
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 #, fuzzy
 msgid "Could not create application."
 msgstr "Gat ekki búið til uppáhald."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nýr hópur"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Notaðu þetta eyðublað til að búa til nýjan hóp."
@@ -3043,14 +3190,14 @@ msgid "New message"
 msgstr "Ný skilaboð"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Þú getur ekki sent þessum notanda skilaboð."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Ekkert innihald!"
 
@@ -3059,7 +3206,7 @@ msgid "No recipient specified."
 msgstr "Enginn móttökuaðili tilgreindur."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3073,12 +3220,12 @@ msgstr "Skilaboð"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "Bein skilaboð send til %s"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax villa"
 
@@ -3086,17 +3233,7 @@ msgstr "Ajax villa"
 msgid "New notice"
 msgstr "Nýtt babl"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, fuzzy, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Babl sent inn"
 
@@ -3233,25 +3370,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Notandi hefur enga persónulega síðu."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Staða %1$s á %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr ""
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Enginn stuðningur við gagnasnið."
@@ -3264,37 +3401,47 @@ msgstr "Leit að fólki"
 msgid "Notice Search"
 msgstr "Leit í babli"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Stillingar fyrir mynd"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Sjá um ýmsar aðrar stillingar."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Þjónusta sem sér um sjálfkrafa styttingu."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 #, fuzzy
 msgid "View profile designs"
 msgstr "Stillingar persónulegrar síðu"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr ""
 "Þjónusta sjálfvirkrar vefslóðastyttingar er of löng (í mesta lagi 50 stafir)."
 
@@ -3745,8 +3892,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 lágstafir eða tölustafir, engin greinarmerki eða bil"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Fullt nafn"
@@ -3789,9 +3937,10 @@ msgid "Bio"
 msgstr "Lýsing"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Staðsetning"
@@ -4125,7 +4274,8 @@ msgid "Unexpected password reset."
 msgstr "Bjóst ekki við endurstillingu lykilorðs."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Lykilorð verður að vera 6 tákn eða fleiri."
 
 #: actions/recoverpassword.php:369
@@ -4376,7 +4526,7 @@ msgid "Repeated!"
 msgstr ""
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Svör við %s"
@@ -4511,11 +4661,12 @@ msgstr "Uppröðun"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Lýsing"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Tölfræði"
@@ -4533,6 +4684,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Eyða"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4617,78 +4773,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s hópurinn"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Hópar, síða %d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Hópssíðan"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "Vefslóð"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Athugasemd"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Hópsaðgerðir"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr ""
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr ""
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr ""
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, fuzzy, php-format
 msgid "FOAF for %s group"
 msgstr "%s hópurinn"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Meðlimir"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Ekkert)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Allir meðlimir"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
 #, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Í sviðsljósinu"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Meðlimir"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4698,7 +4882,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4707,25 +4894,32 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 #, fuzzy
 msgid "Admins"
 msgstr "Stjórnandi"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Engin þannig skilaboð."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Aðeins sendandi og móttakandi geta lesið þessi skilaboð."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Skilaboð til %1$s á %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Skilaboð frá %1$s á %2$s"
@@ -4735,60 +4929,84 @@ msgstr "Skilaboð frá %1$s á %2$s"
 msgid "Notice deleted."
 msgstr "Babl sent inn"
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s"
+msgstr "Hópar, síða %d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "Babl merkt með %s"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "Hópar, síða %d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, fuzzy, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Bablveita fyrir %s"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr ""
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr ""
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "Úthólf %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4797,7 +5015,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4805,7 +5025,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "Svör við %s"
@@ -4920,35 +5141,42 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 #, fuzzy
 msgid "Site Notice"
 msgstr "Babl vefsíðunnar"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Ný skilaboð"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Vandamál komu upp við að vista babl."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "Babl vefsíðunnar"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "Babl vefsíðunnar"
@@ -5172,12 +5400,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Stillingar fyrir mynd"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Þú ert ekki áskrifandi."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Gat ekki vistað áskrift."
 
@@ -5413,83 +5643,100 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 #, fuzzy
 msgctxt "TITLE"
 msgid "User"
 msgstr "Notandi"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Persónuleg síða"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 #, fuzzy
 msgid "New users"
 msgstr "Bjóða nýjum notendum að vera með"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Allar áskriftir"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "Gerast sjálfkrafa áskrifandi að hverjum þeim sem gerist áskrifandi að þér "
 "(best fyrir ómannlega notendur)"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 #, fuzzy
 msgid "Invitations"
 msgstr "Boðskort hefur verið sent út"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 #, fuzzy
 msgid "Invitations enabled"
 msgstr "Boðskort hefur verið sent út"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5600,12 +5847,14 @@ msgstr "Get ekki lesið slóðina fyrir myndina '%s'"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Röng gerð myndar fyrir '%s'"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Stillingar persónulegrar síðu"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5690,7 +5939,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 #, fuzzy
 msgid "Version"
 msgstr "Persónulegt"
@@ -5724,29 +5973,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "Ótæk stærð."
@@ -5883,40 +6141,47 @@ msgid "Problem saving notice."
 msgstr "Vandamál komu upp við að vista babl."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "Vandamál komu upp við að vista babl."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Gat ekki vistað áskrift."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5990,32 +6255,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Skilaboð til %1$s á %2$s"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Gat ekki búið til hóp."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Gat ekki búið til hóp."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Gat ekki skráð hópmeðlimi."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "Gat ekki vistað áskrift."
@@ -6067,50 +6332,56 @@ msgstr "%1$s (%2$s)"
 msgid "Untitled page"
 msgstr "Ónafngreind síða"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Stikl aðalsíðu"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Persónuleg síða og vinarás"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 #, fuzzy
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Persónulegt"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Breyta lykilorðinu þínu"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Aðgangur"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Gat ekki framsent til vefþjóns: %s"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Tengjast"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
@@ -6118,87 +6389,87 @@ msgstr "Stikl aðalsíðu"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 #, fuzzy
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Stjórnandi"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, fuzzy, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Bjóða vinum og vandamönnum að slást í hópinn á %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Bjóða"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Skrá þig inn á síðuna"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Einkennismerki"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Búa til nýjan hóp"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 #, fuzzy
 msgctxt "MENU"
 msgid "Register"
 msgstr "Nýskrá"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Skrá þig inn á síðuna"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 #, fuzzy
 msgctxt "MENU"
 msgid "Login"
 msgstr "Innskráning"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Hjálp"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 #, fuzzy
 msgctxt "MENU"
 msgid "Help"
 msgstr "Hjálp"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Leita að fólki eða texta"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 #, fuzzy
 msgctxt "MENU"
 msgid "Search"
@@ -6206,68 +6477,69 @@ msgstr "Leita"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Babl vefsíðunnar"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Staðbundin sýn"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Babl síðunnar"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Stikl undirsíðu"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Hjálp"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Um"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Spurt og svarað"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Friðhelgi"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Frumþula"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Tengiliður"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 #, fuzzy
 msgid "Badge"
 msgstr "Pot"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Hugbúnaðarleyfi StatusNet"
 
@@ -6275,7 +6547,7 @@ msgstr "Hugbúnaðarleyfi StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6285,7 +6557,7 @@ msgstr ""
 "broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** er örbloggsþjónusta."
@@ -6294,7 +6566,7 @@ msgstr "**%%site.name%%** er örbloggsþjónusta."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6306,51 +6578,51 @@ msgstr ""
 "licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 #, fuzzy
 msgid "Site content license"
 msgstr "Hugbúnaðarleyfi StatusNet"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Uppröðun"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Eftir"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Áður"
 
@@ -6438,7 +6710,7 @@ msgid "User configuration"
 msgstr "SMS staðfesting"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Notandi"
 
@@ -6712,7 +6984,7 @@ msgid "AJAX error"
 msgstr "Ajax villa"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Fullkláruð skipun"
 
@@ -6729,7 +7001,7 @@ msgstr "Enginn persónuleg síða með þessu einkenni."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "Notandi hefur ekkert nýtt babl"
@@ -6796,6 +7068,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6833,130 +7113,138 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
+msgstr[1] ""
+"Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Villa kom upp við að senda bein skilaboð"
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Babl sent inn"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Villa kom upp í stillingu notanda."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
+msgstr[1] ""
+"Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "Svara þessu babli"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Vandamál komu upp við að vista babl."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "Tilgreindu nafn notandans sem þú vilt gerast áskrifandi að"
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Þú ert ekki áskrifandi."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Tilgreindu nafn notandans sem þú vilt hætta sem áskrifandi að"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Skipun hefur ekki verið fullbúin"
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Tilkynningar af."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Get ekki slökkt á tilkynningum."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Tilkynningar á."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Get ekki kveikt á tilkynningum."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "Þú ert ekki áskrifandi."
@@ -6964,7 +7252,7 @@ msgstr "Þú ert ekki áskrifandi."
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Þú ert nú þegar í áskrift að þessum notendum:"
@@ -6972,7 +7260,7 @@ msgstr[1] "Þú ert nú þegar í áskrift að þessum notendum:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Gat ekki leyft öðrum að gerast áskrifandi að þér."
@@ -6980,7 +7268,7 @@ msgstr "Gat ekki leyft öðrum að gerast áskrifandi að þér."
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Gat ekki leyft öðrum að gerast áskrifandi að þér."
@@ -6988,7 +7276,7 @@ msgstr[1] "Gat ekki leyft öðrum að gerast áskrifandi að þér."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 #, fuzzy
 msgid "You are not a member of any groups."
 msgstr "Þú ert ekki meðlimur í þessum hópi."
@@ -6996,14 +7284,14 @@ msgstr "Þú ert ekki meðlimur í þessum hópi."
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Þú ert ekki meðlimur í þessum hópi."
 msgstr[1] "Þú ert ekki meðlimur í þessum hópi."
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7110,25 +7398,41 @@ msgstr ""
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 #, fuzzy
 msgid "Upload file"
 msgstr "Hlaða upp"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 #, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
 msgstr ""
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr ""
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Endurstilla"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -7156,7 +7460,8 @@ msgstr ""
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7195,7 +7500,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 lágstafir eða tölustafir, engin greinarmerki eða bil"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "Vefslóð vefsíðu hópsins eða umfjöllunarefnisins"
 
 #: lib/groupeditform.php:168
@@ -7205,18 +7511,27 @@ msgstr "Lýstu hópnum eða umfjöllunarefninu með 140 táknum"
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Lýstu hópnum eða umfjöllunarefninu með 140 táknum"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Lýstu hópnum eða umfjöllunarefninu með 140 táknum"
+msgstr[1] "Lýstu hópnum eða umfjöllunarefninu með 140 táknum"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Staðsetning hópsins, ef einhver, eins og \"Borg, landshluti, land\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7317,39 +7632,57 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr "Skráarsnið myndar ekki stutt."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Upphal að hluta til."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Kerfisvilla kom upp við upphal skráar."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Annaðhvort ekki mynd eða þá að skráin er gölluð."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Týndum skránni okkar"
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Óþekkt skráargerð"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr ""
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr ""
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7549,7 +7882,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "Senda mér tölvupóst þegar einhver setur babl í mér í uppáhald hjá sér."
@@ -7559,7 +7892,7 @@ msgstr "Senda mér tölvupóst þegar einhver setur babl í mér í uppáhald hj
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7581,7 +7914,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7591,7 +7924,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7602,7 +7935,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7660,7 +7993,7 @@ msgstr "Afsakið en þetta er ekki móttökutölvupóstfangið þitt."
 msgid "Sorry, no incoming email allowed."
 msgstr "Því miður er móttökutölvupóstur ekki leyfður."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Skráarsnið myndar ekki stutt."
@@ -7723,7 +8056,7 @@ msgstr "Gat ekki eytt uppáhaldi."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7732,7 +8065,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7878,31 +8211,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Gat ekki sett inn nýja áskrift."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Persónulegt"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Svör"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Uppáhald"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Innhólf"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Mótteknu skilaboðin þín"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Úthólf"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Skilaboð sem þú hefur sent"
 
@@ -8016,17 +8349,18 @@ msgid "Sandbox this user"
 msgstr "Opna á þennan notanda"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 #, fuzzy
 msgid "Search site"
 msgstr "Leita"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8110,6 +8444,12 @@ msgstr ""
 msgid "None"
 msgstr "Ekkert"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ótæk stærð."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8119,8 +8459,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Mistókst að uppfæra mynd"
@@ -8131,29 +8471,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Vill kom upp við að aflétta notendalokun."
 
@@ -8161,6 +8504,13 @@ msgstr "Vill kom upp við að aflétta notendalokun."
 msgid "Top posters"
 msgstr "Aðalbablararnir"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Opna"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8334,17 +8684,22 @@ msgstr[0] ""
 msgstr[1] ""
 "Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Engin persónuleg síða tilgreind"
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index f7c88373121a3459a32fb58649c058996e372711..9f0d435c237f7ad2b9caa48be4829f61c0dd2b9a 100644 (file)
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:10+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:25+0000\n"
 "Language-Team: Italian <http://translatewiki.net/wiki/Portal:it>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: it\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -80,15 +80,22 @@ msgstr "Salva impostazioni di accesso"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Salva"
@@ -119,6 +126,7 @@ msgstr "Pagina inesistente."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -131,14 +139,14 @@ msgstr "Pagina inesistente."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Utente inesistente."
@@ -155,7 +163,7 @@ msgstr "%1$s e amici, pagina %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amici"
@@ -211,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -309,11 +319,12 @@ msgstr "Impossibile aggiornare l'utente."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -326,11 +337,13 @@ msgstr "Impossibile salvare il profilo."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -506,9 +519,11 @@ msgstr "Impossibile determinare l'utente sorgente."
 msgid "Could not find target user."
 msgstr "Impossibile trovare l'utente destinazione."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -516,35 +531,43 @@ msgstr ""
 "spazi."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Soprannome già in uso. Prova con un altro."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Non è un soprannome valido."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "L'indirizzo della pagina web non è valido."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -553,10 +576,14 @@ msgstr "Nome troppo lungo (max 255 caratteri)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -564,9 +591,11 @@ msgstr[0] "La descrizione è troppo lunga (max %d caratteri)."
 msgstr[1] "La descrizione è troppo lunga (max %d caratteri)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -574,7 +603,12 @@ msgstr "Ubicazione troppo lunga (max 255 caratteri)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -590,15 +624,19 @@ msgstr "Alias non valido: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "L'alias \"%s\" è già in uso. Prova con un altro."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "L'alias non può essere lo stesso del soprannome."
 
@@ -704,21 +742,21 @@ msgid "Request token already authorized."
 msgstr "Autorizzazione non presente."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Si è verificato un problema con il tuo token di sessione. Prova di nuovo."
@@ -735,17 +773,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Errore nel database nell'inserire l'applicazione utente OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Invio del modulo inaspettato."
 
@@ -795,9 +835,10 @@ msgstr "Account"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -891,20 +932,21 @@ msgstr "Non puoi eliminare il messaggio di un altro utente."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nessun messaggio."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Non puoi ripetere un tuo messaggio."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Hai già ripetuto quel messaggio."
 
@@ -925,7 +967,8 @@ msgstr "Il client deve fornire un parametro \"status\" con un valore."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -940,7 +983,7 @@ msgstr "Metodo delle API non trovato."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1047,105 +1090,140 @@ msgstr "Metodo delle API in lavorazione."
 msgid "User not found."
 msgstr "Metodo delle API non trovato."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Nessun allegato."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Nessun soprannome."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Nessuna dimensione."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Dimensione non valida."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Immagine"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Puoi caricare la tua immagine personale. La dimensione massima del file è %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Utente senza profilo corrispondente."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Impostazioni immagine"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Originale"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Anteprima"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Elimina"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Carica"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Ritaglia"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Nessun file caricato."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Scegli un'area quadrata per la tua immagine personale"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Perso il nostro file di dati."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Immagine aggiornata."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Aggiornamento dell'immagine non riuscito."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Immagine eliminata."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Hai già bloccato quell'utente."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Blocca utente"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1161,8 +1239,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1170,7 +1248,7 @@ msgstr "No"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Non bloccare questo utente"
 
@@ -1180,8 +1258,8 @@ msgstr "Non bloccare questo utente"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1189,140 +1267,170 @@ msgstr "Sì"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Blocca questo utente"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Salvataggio delle informazioni per il blocco non riuscito."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Nessuna gruppo."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "Profili bloccati di %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Profili bloccati di %1$s, pagina %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Un elenco degli utenti a cui è bloccato l'accesso a questo gruppo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Sblocca l'utente dal gruppo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Sblocca"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Sblocca questo utente"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Invia a %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Nessun codice di conferma."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Codice di conferma non trovato."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Quel codice di conferma non è per te!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo di indirizzo %s non riconosciuto."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Quell'indirizzo è già stato confermato."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Impossibile aggiornare l'utente."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Impossibile eliminare l'email di conferma."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Impossibile eliminare la conferma della messaggistica."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Conferma indirizzo"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "L'indirizzo \"%s\" è stato confermato per il tuo account."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversazione"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Messaggi"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Devi eseguire l'accesso per eliminare un'applicazione."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Applicazione non trovata."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Questa applicazione non è di tua proprietà."
@@ -1330,15 +1438,18 @@ msgstr "Questa applicazione non è di tua proprietà."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Si è verificato un problema con il tuo token di sessione."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Elimina applicazione"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1348,12 +1459,12 @@ msgstr ""
 "riguardo all'applicazione dal database, comprese tutte le connessioni utente."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Non eliminare l'applicazione"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Elimina l'applicazione"
 
@@ -1389,13 +1500,14 @@ msgstr "Impossibile aggiornare il gruppo."
 msgid "Deleted group %s"
 msgstr "%1$s ha lasciato il gruppo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Elimina utente"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1418,22 +1530,27 @@ msgstr "Non eliminare il messaggio"
 msgid "Delete this group"
 msgstr "Elimina questo utente"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Accesso non effettuato."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Impossibile eliminare questo messaggio."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1441,21 +1558,24 @@ msgstr ""
 "Stai per eliminare definitivamente un messaggio. Una volta fatto non sarà "
 "possibile recuperarlo."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Elimina messaggio"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Vuoi eliminare questo messaggio?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Non eliminare il messaggio"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Elimina questo messaggio"
 
@@ -1541,12 +1661,14 @@ msgstr "Tema personalizzato"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Puoi caricare un tema per StatusNet personalizzato come un file ZIP."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Modifica l'immagine di sfondo"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Sfondo"
 
@@ -1560,40 +1682,48 @@ msgstr ""
 "file è di %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "On"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Off"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Abilita o disabilita l'immagine di sfondo."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Affianca l'immagine di sfondo"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Modifica colori"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Contenuto"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra laterale"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Testo"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Collegamenti"
 
@@ -1605,29 +1735,31 @@ msgstr "Avanzate"
 msgid "Custom CSS"
 msgstr "CSS personalizzato"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Usa predefiniti"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Ripristina i valori predefiniti"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Reimposta i valori predefiniti"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Salva"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Salva aspetto"
 
@@ -1671,9 +1803,9 @@ msgid "Name is required."
 msgstr "Il nome è richiesto."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Il nome è troppo lungo (max 255 caratteri)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1702,7 +1834,7 @@ msgid "Organization is required."
 msgstr "L'organizzazione è richiesta."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "L'organizzazione è troppo lunga (max 255 caratteri)."
@@ -1726,49 +1858,49 @@ msgstr "L'URL di callback non è valido."
 msgid "Could not update application."
 msgstr "Impossibile aggiornare l'applicazione."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Modifica il gruppo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Devi eseguire l'accesso per creare un gruppo."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Devi essere amministratore per modificare il gruppo."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Usa questo modulo per modificare il gruppo."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "La descrizione è troppo lunga (max %d caratteri)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Troppi alias! Massimo %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Alias non valido: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Impossibile aggiornare il gruppo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Impossibile creare gli alias."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Opzioni salvate."
 
@@ -1964,6 +2096,12 @@ msgstr "Nessuna conferma da annullare."
 msgid "That is the wrong email address."
 msgstr "Quello è l'indirizzo email sbagliato."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Impossibile eliminare l'email di conferma."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2047,7 +2185,7 @@ msgstr ""
 "tra i tuoi preferiti!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Messaggi preferiti di %s"
@@ -2144,19 +2282,23 @@ msgstr "Non puoi concedere i ruoli agli utenti su questo sito."
 msgid "User already has this role."
 msgstr "L'utente ricopre già questo ruolo."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Nessun profilo specificato."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Nessun profilo con quel ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Nessun gruppo specificato."
@@ -2222,8 +2364,10 @@ msgstr ""
 "Personalizza l'aspetto del tuo gruppo con un'immagine di sfondo e dei colori "
 "personalizzati."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Impossibile aggiornare l'aspetto."
 
@@ -2243,6 +2387,14 @@ msgstr ""
 "Puoi caricare un'immagine per il logo del tuo gruppo. La dimensione massima "
 "del file è di %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Carica"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Ritaglia"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Scegli un'area quadrata dell'immagine per il logo."
@@ -2385,15 +2537,18 @@ msgstr ""
 "Perché non [crei un account](%%action.register%%) e [crei tu il gruppo](%%"
 "action.newgroup%%)!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Solo gli amministratori possono sbloccare i membri del gruppo."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "L'utente non è bloccato dal gruppo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Errore nel rimuovere il blocco."
 
@@ -2483,7 +2638,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Pubblica un MicroID per il mio indirizzo Jabber/GTalk"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferenze salvate."
 
@@ -2608,10 +2763,9 @@ msgstr[1] "Hai già un abbonamento a questi utenti:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2798,7 +2952,8 @@ msgstr ""
 "licenza \"Tutti i diritti riservati\"."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Titolo della licenza non valido. Lunghezza massima 255 caratteri."
 
 #: actions/licenseadminpanel.php:168
@@ -2971,28 +3126,20 @@ msgstr "Devi eseguire l'accesso per registrare un'applicazione."
 msgid "Use this form to register a new application."
 msgstr "Usa questo modulo per registrare un'applicazione."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Il nome è troppo lungo (max 255 caratteri)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "L'URL sorgente è richiesto."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "L'organizzazione è troppo lunga (max 255 caratteri)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Impossibile creare l'applicazione."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nuovo gruppo"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Usa questo modulo per creare un nuovo gruppo."
@@ -3002,14 +3149,14 @@ msgid "New message"
 msgstr "Nuovo messaggio"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Non puoi inviare un messaggio a questo utente."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Nessun contenuto!"
 
@@ -3018,7 +3165,7 @@ msgid "No recipient specified."
 msgstr "Nessun destinatario specificato."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Non inviarti un messaggio, piuttosto ripetilo a voce dolcemente."
@@ -3029,12 +3176,12 @@ msgstr "Messaggio inviato"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Messaggio diretto a %s inviato."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Errore di Ajax"
 
@@ -3042,18 +3189,7 @@ msgstr "Errore di Ajax"
 msgid "New notice"
 msgstr "Nuovo messaggio"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Troppo lungo. Lunghezza massima %d caratteri."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"La dimensione massima di un messaggio è di %d caratteri, compreso l'URL."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Messaggio inviato"
 
@@ -3192,25 +3328,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Il messaggio non ha un profilo."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Stato di %1$s su %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Tipo di contenuto %s non supportato."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Solo URL %s attraverso HTTP semplice."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Non è un formato di dati supportato."
@@ -3223,36 +3359,46 @@ msgstr "Cerca persone"
 msgid "Notice Search"
 msgstr "Cerca messaggi"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Altre impostazioni"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gestisci altre opzioni."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (servizio libero)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Accorcia gli URL con"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Servizio di autoriduzione da usare"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Visualizza aspetto"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Mostra o nasconde gli aspetti del profilo"
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Il servizio di riduzione degli URL è troppo lungo (max 50 caratteri)."
 
 #: actions/otp.php:69
@@ -3700,8 +3846,9 @@ msgstr ""
 "1-64 lettere minuscole o numeri, senza spazi o simboli di punteggiatura"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nome"
@@ -3741,9 +3888,10 @@ msgid "Bio"
 msgstr "Biografia"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Ubicazione"
@@ -4081,7 +4229,8 @@ msgid "Unexpected password reset."
 msgstr "Ripristino della password inaspettato."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "La password deve essere lunga almeno 6 caratteri."
 
 #: actions/recoverpassword.php:369
@@ -4327,7 +4476,7 @@ msgid "Repeated!"
 msgstr "Ripetuti!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Risposte a %s"
@@ -4458,11 +4607,12 @@ msgstr "Organizzazione"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Descrizione"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistiche"
@@ -4480,6 +4630,11 @@ msgstr "Azioni applicazione"
 msgid "Reset key & secret"
 msgstr "Reimposta chiave e segreto"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Elimina"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informazioni applicazione"
@@ -4571,77 +4726,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Questo è un modo per condividere ciò che ti piace."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Gruppo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Gruppi di %1$s, pagina %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Profilo del gruppo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Nota"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Alias"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Azioni dei gruppi"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Feed dei messaggi per il gruppo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Feed dei messaggi per il gruppo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Feed dei messaggi per il gruppo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF per il gruppo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membri"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(nessuno)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Tutti i membri"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Creato"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membri"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4657,7 +4841,10 @@ msgstr ""
 "stesso](%%%%action.register%%%%) per far parte di questo gruppo e di molti "
 "altri! ([Maggiori informazioni](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4669,24 +4856,31 @@ msgstr ""
 "(http://it.wikipedia.org/wiki/Microblogging) basato sul software libero "
 "[StatusNet](http://status.net/)."
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Amministratori"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Nessun messaggio."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Solo mittente e destinatario possono leggere questo messaggio."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Messaggio a %1$s su %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Messaggio da %1$s su %2$s"
@@ -4695,47 +4889,67 @@ msgstr "Messaggio da %1$s su %2$s"
 msgid "Notice deleted."
 msgstr "Messaggio eliminato."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " etichettati con %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, pagina %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Messaggi etichettati con %1$s, pagina %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, pagina %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Feed dei messaggi per %1$s etichettati con %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Feed dei messaggi per %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Feed dei messaggi per %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Feed dei messaggi per %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF per %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Questa è l'attività di %1$s, ma %2$s non ha ancora scritto nulla."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4743,7 +4957,9 @@ msgstr ""
 "Visto niente di interessante? Non hai scritto ancora alcun messaggio, questo "
 "potrebbe essere un buon momento per iniziare! :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4752,7 +4968,9 @@ msgstr ""
 "[Scrivi qualche cosa](%%%%action.newnotice%%%%?status_textarea=%s) su questo "
 "argomento!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4766,7 +4984,9 @@ msgstr ""
 "i messaggi di **%s** e di molti altri! ([Maggiori informazioni](%%%%doc.help%"
 "%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4777,7 +4997,8 @@ msgstr ""
 "it.wikipedia.org/wiki/Microblogging) basato sul software libero [StatusNet]"
 "(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Ripetizione di %s"
@@ -4891,31 +5112,40 @@ msgstr ""
 "Quanto tempo gli utenti devono attendere (in secondi) prima di inviare "
 "nuovamente lo stesso messaggio"
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Messaggio del sito"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Modifica il messaggio del sito"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Impossibile salvare il messaggio del sito."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "La dimensione massima del messaggio del sito è di 255 caratteri."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Testo messaggio del sito"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Testo messaggio del sito (massimo 255 caratteri, HTML consentito)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Salva messaggio"
 
@@ -5131,12 +5361,14 @@ msgstr "Gli snapshot verranno inviati a questo URL"
 msgid "Save snapshot settings"
 msgstr "Salva impostazioni snapshot"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Non hai una abbonamento a quel profilo."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Impossibile salvare l'abbonamento."
 
@@ -5380,76 +5612,94 @@ msgstr ""
 "licenza \"%2$s\" di questo sito."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Utente"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Impostazioni utente per questo sito StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite per la biografia non valido. Deve essere numerico."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 "Testo di benvenuto non valido. La lunghezza massima è di 255 caratteri."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Abbonamento predefinito non valido: \"%1$s\" non è un utente."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profilo"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limite biografia"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Lunghezza massima in caratteri della biografia"
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nuovi utenti"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Messaggio per nuovi utenti"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Messaggio di benvenuto per nuovi utenti (max 255 caratteri)"
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Abbonamento predefinito"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Abbonare automaticamente i nuovi utenti a questo utente"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Inviti"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Inviti abilitati"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Indica se consentire agli utenti di invitarne di nuovi"
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Salva impostazioni utente"
 
@@ -5556,11 +5806,13 @@ msgstr "Impossibile leggere l'URL \"%s\" dell'immagine."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo di immagine errata per l'URL \"%s\"."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Aspetto del profilo"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5659,7 +5911,7 @@ msgid "Plugins"
 msgstr "Plugin"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versione"
 
@@ -5692,33 +5944,46 @@ msgstr "Si è verificato qualche cosa di impossibile."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Nessun file può superare %1$d byte e il file inviato era di %2$d byte. Prova "
+"a caricarne una versione più piccola."
+msgstr[1] ""
 "Nessun file può superare %1$d byte e il file inviato era di %2$d byte. Prova "
 "a caricarne una versione più piccola."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Un file di questa dimensione supererebbe la tua quota utente di %d byte."
+msgstr[1] ""
 "Un file di questa dimensione supererebbe la tua quota utente di %d byte."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Un file di questa dimensione supererebbe la tua quota mensile di %d byte."
+msgstr[1] ""
 "Un file di questa dimensione supererebbe la tua quota mensile di %d byte."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nome file non valido."
 
@@ -5847,32 +6112,40 @@ msgid "Problem saving notice."
 msgstr "Problema nel salvare il messaggio."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Fornito un tipo errato per saveKnownGroups"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problema nel salvare la casella della posta del gruppo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Impossibile salvare le informazioni del gruppo locale."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5880,7 +6153,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5952,32 +6225,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Benvenuti su %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Nessun utente singolo definito per la modalità single-user."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Impossibile creare il gruppo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Impossibile impostare l'URI del gruppo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Impossibile impostare la membership al gruppo."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Impossibile salvare le informazioni del gruppo locale."
 
@@ -6027,194 +6300,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Pagina senza nome"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Esplorazione sito primaria"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Profilo personale e attività degli amici"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personale"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Modifica la tua email, immagine, password o il tuo profilo"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Account"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Connettiti con altri servizi"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Connetti"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Modifica la configurazione del sito"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Amministra"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Invita amici e colleghi a seguirti su %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Invita"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Termina la tua sessione sul sito"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Esci"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Crea un account"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrati"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Accedi al sito"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Accedi"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Aiutami!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Aiuto"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Cerca persone o del testo"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Cerca"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Messaggio del sito"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Viste locali"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Pagina messaggio"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Esplorazione secondaria del sito"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Aiuto"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Informazioni"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "TOS"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacy"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Sorgenti"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contatti"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Badge"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licenza del software StatusNet"
 
@@ -6222,7 +6502,7 @@ msgstr "Licenza del software StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6232,7 +6512,7 @@ msgstr ""
 "(%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** è un servizio di microblog."
@@ -6241,7 +6521,7 @@ msgstr "**%%site.name%%** è un servizio di microblog."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6253,27 +6533,27 @@ msgstr ""
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licenza del contenuto del sito"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "I contenuti e i dati di %1$s sono privati e confidenziali."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 "I contenuti e i dati sono copyright di %1$s. Tutti i diritti riservati."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "I contenuti e i dati sono forniti dai collaboratori. Tutti i diritti "
@@ -6281,7 +6561,7 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
@@ -6289,19 +6569,19 @@ msgstr ""
 "licenza %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginazione"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Successivi"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Precedenti"
 
@@ -6380,7 +6660,7 @@ msgid "User configuration"
 msgstr "Configurazione utente"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Utente"
 
@@ -6647,7 +6927,7 @@ msgid "AJAX error"
 msgstr "Errore di Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Comando completato"
 
@@ -6663,7 +6943,7 @@ msgstr "Un messaggio con quel ID non esiste."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "L'utente non ha un ultimo messaggio."
 
@@ -6732,6 +7012,14 @@ msgstr "L'utente %1$s è entrato nel gruppo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s ha lasciato il gruppo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6771,113 +7059,117 @@ msgstr ""
 "%s è un profilo remoto. È possibile inviare messaggi privati solo agli "
 "utenti sullo stesso server."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
+msgstr[1] "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Errore nell'inviare il messaggio diretto."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Messaggio da %s ripetuto."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Errore nel ripetere il messaggio."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
+msgstr[1] "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Risposta a %s inviata."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Errore nel salvare il messaggio."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Specifica il nome dell'utente a cui abbonarti."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Impossibile abbonarsi ai profili OMB attraverso un comando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Abbonati a %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Specifica il nome dell'utente da cui annullare l'abbonamento."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Abbonamento a %s annullato."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Comando non ancora implementato."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notifiche disattivate."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Impossibile disattivare le notifiche."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notifiche attivate."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Impossibile attivare le notifiche."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Il comando di accesso è disabilitato."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6886,20 +7178,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Abbonamento di %s annullato."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Il tuo abbonamento è stato annullato."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Persona di cui hai già un abbonamento:"
@@ -6907,14 +7199,14 @@ msgstr[1] "Persone di cui hai già un abbonamento:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Nessuno è abbonato ai tuoi messaggi."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Questa persona è abbonata ai tuoi messaggi:"
@@ -6922,21 +7214,21 @@ msgstr[1] "Queste persone sono abbonate ai tuoi messaggi:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Non fai parte di alcun gruppo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Non fai parte di questo gruppo:"
 msgstr[1] "Non fai parte di questi gruppi:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7084,10 +7376,13 @@ msgstr "Applicazioni collegate autorizzate"
 msgid "Database error"
 msgstr "Errore del database"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Carica file"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7095,16 +7390,29 @@ msgstr ""
 "Puoi caricare la tua immagine di sfondo. La dimensione massima del file è di "
 "2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Il server non è in grado di gestire tutti quei dati POST (%s byte) con la "
-"configurazione attuale."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "On"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Off"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Reimposta"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Valori predefiniti ripristinati."
 
@@ -7132,7 +7440,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Feed"
 
@@ -7171,7 +7480,8 @@ msgstr ""
 "1-64 lettere minuscole o numeri, senza spazi o simboli di punteggiatura"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL della pagina web, blog del gruppo o l'argomento"
 
 #: lib/groupeditform.php:168
@@ -7179,19 +7489,29 @@ msgid "Describe the group or topic"
 msgstr "Descrivi il gruppo o l'argomento"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Descrivi il gruppo o l'argomento in %d caratteri"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Descrivi il gruppo o l'argomento in %d caratteri"
+msgstr[1] "Descrivi il gruppo o l'argomento in %d caratteri"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Dove è situato il gruppo, tipo \"città, regione, stato\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Soprannomi aggiuntivi per il gruppo, separati da virgole o spazi, max %d"
+msgstr[1] ""
 "Soprannomi aggiuntivi per il gruppo, separati da virgole o spazi, max %d"
 
 #. TRANS: Menu item in the group navigation page.
@@ -7292,39 +7612,57 @@ msgstr "Questa pagina non è disponibile in un tipo di supporto che tu accetti"
 msgid "Unsupported image file format."
 msgstr "Formato file immagine non supportato."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Quel file è troppo grande. La dimensione massima è %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Caricamento parziale."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Errore di sistema nel caricare il file."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Non è un'immagine o il file è danneggiato."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Perso il nostro file."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Tipo di file sconosciuto"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7576,7 +7914,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) ha aggiunto il tuo messaggio tra i suoi preferiti"
@@ -7586,7 +7924,7 @@ msgstr "%s (@%s) ha aggiunto il tuo messaggio tra i suoi preferiti"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7625,7 +7963,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7638,7 +7976,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) ti ha inviato un messaggio"
@@ -7649,7 +7987,7 @@ msgstr "%s (@%s) ti ha inviato un messaggio"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7732,7 +8070,7 @@ msgstr "Quella non è la tua email di ricezione."
 msgid "Sorry, no incoming email allowed."
 msgstr "Email di ricezione non consentita."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipo di messaggio non supportato: %s"
@@ -7797,7 +8135,7 @@ msgstr "Impossibile determinare il tipo MIME del file."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7808,7 +8146,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" non è un tipo di file supportata su questo server."
@@ -7949,31 +8287,31 @@ msgstr "Messaggio duplicato."
 msgid "Couldn't insert new subscription."
 msgstr "Impossibile inserire un nuovo abbonamento."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personale"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Risposte"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Preferiti"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "In arrivo"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "I tuoi messaggi in arrivo"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Inviati"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "I tuoi messaggi inviati"
 
@@ -8080,16 +8418,17 @@ msgid "Sandbox this user"
 msgstr "Metti questo utente nella \"sandbox\""
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Cerca nel sito"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Parole"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8170,6 +8509,12 @@ msgstr "Insieme delle etichette delle persone come etichettate"
 msgid "None"
 msgstr "Nessuno"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nome file non valido."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8180,8 +8525,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Manca il file del tema o il caricamento non è riuscito."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Salvataggio del tema non riuscito."
 
@@ -8190,16 +8535,20 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Tema non valido: struttura directory non corretta."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Il tema caricato è troppo grande, deve essere meno di %d byte non compresso."
+msgstr[1] ""
 "Il tema caricato è troppo grande, deve essere meno di %d byte non compresso."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "File di tema non valido: manca il file css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8207,17 +8556,17 @@ msgstr ""
 "Il tema contiene file non o nomi di cartelle non validi. Utilizzare "
 "solamente caratteri ASCII, numeri, il trattino basso e il segno meno."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "Il tema contiene file con estensioni non sicure: potrebbe non essere sicuro."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Il tema contiene file di tipo \".%s\" che non sono supportati."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Errore nell'aprire il file del tema."
 
@@ -8225,6 +8574,13 @@ msgstr "Errore nell'aprire il file del tema."
 msgid "Top posters"
 msgstr "Chi scrive più messaggi"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Sblocca"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Unsandbox"
@@ -8391,16 +8747,21 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
 msgstr[1] "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "File di backup per l'utente %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Nessun utente specificato: viene usato l'utente di backup."
 
-#: scripts/restoreuser.php:94
-#, php-format
-msgid "%d entries in backup."
-msgstr "%d voci nel backup."
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
+#, fuzzy, php-format
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d voci nel backup."
+msgstr[1] "%d voci nel backup."
index 37b1dea63ce45d93916b17821a2a617cebb58b6e..c2cdd77822cec2f832f21dd83bca15f7fb21cf1f 100644 (file)
@@ -12,17 +12,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:15+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:26+0000\n"
 "Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ja\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,15 +79,22 @@ msgstr "アクセス設定の保存"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 #, fuzzy
 msgctxt "BUTTON"
 msgid "Save"
@@ -119,6 +126,7 @@ msgstr "そのようなタグはありません。"
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -131,14 +139,14 @@ msgstr "そのようなタグはありません。"
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "そのようなユーザはいません。"
@@ -155,7 +163,7 @@ msgstr "%1$s と友人、ページ %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s と友人"
@@ -209,7 +217,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -310,11 +320,12 @@ msgstr "ユーザを更新できませんでした。"
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -327,11 +338,13 @@ msgstr "プロフィールを保存できませんでした。"
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -504,9 +517,11 @@ msgstr "ソースユーザーを決定できません。"
 msgid "Could not find target user."
 msgstr "ターゲットユーザーを見つけられません。"
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -514,35 +529,43 @@ msgstr ""
 "できません。"
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "そのニックネームは既に使用されています。他のものを試してみて下さい。"
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "有効なニックネームではありません。"
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "ホームページのURLが不適切です。"
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -551,19 +574,25 @@ msgstr "フルネームが長すぎます。(255字まで)"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "記述が長すぎます。(最長%d字)"
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -571,7 +600,12 @@ msgstr "場所が長すぎます。(255字まで)"
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -586,15 +620,19 @@ msgstr "不正な別名: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "別名 \"%s\" は既に使用されています。他のものを試してみて下さい。"
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "別名はニックネームと同じではいけません。"
 
@@ -701,21 +739,21 @@ msgid "Request token already authorized."
 msgstr "認証されていません。"
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "あなたのセッショントークンに問題がありました。再度お試しください。"
 
@@ -731,17 +769,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "OAuth アプリケーションユーザの追加時DBエラー。"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "予期せぬフォーム送信です。"
 
@@ -785,9 +825,10 @@ msgstr "アカウント"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -882,20 +923,21 @@ msgstr "他のユーザのステータスを消すことはできません。"
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "そのようなつぶやきはありません。"
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "あなたのつぶやきを繰り返せません。"
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "すでにつぶやきを繰り返しています。"
 
@@ -916,7 +958,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -930,7 +973,7 @@ msgstr "API メソッドが見つかりません。"
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1035,105 +1078,140 @@ msgstr "API メソッドが工事中です。"
 msgid "User not found."
 msgstr "API メソッドが見つかりません。"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "そのような添付はありません。"
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "ニックネームがありません。"
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "サイズがありません。"
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "不正なサイズ。"
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "アバター"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "自分のアバターをアップロードできます。最大サイズは%sです。"
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "合っているプロフィールのないユーザ"
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "アバター設定"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "オリジナル"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "プレビュー"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "削除"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "アップロード"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "切り取り"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 #, fuzzy
 msgid "No file uploaded."
 msgstr "プロファイル記述がありません。"
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "あなたのアバターとなるイメージを正方形で指定"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "ファイルデータを紛失しました。"
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "アバターが更新されました。"
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "アバターの更新に失敗しました。"
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "アバターが削除されました。"
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "そのユーザはすでにブロック済みです。"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "ユーザをブロック"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 #, fuzzy
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
@@ -1150,8 +1228,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1159,7 +1237,7 @@ msgstr "ノート"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "このユーザをアンブロックする"
 
@@ -1169,8 +1247,8 @@ msgstr "このユーザをアンブロックする"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 #, fuzzy
 msgctxt "BUTTON"
@@ -1179,140 +1257,170 @@ msgstr "Yes"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "このユーザをブロックする"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "ブロック情報の保存に失敗しました。"
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "そのようなグループはありません。"
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s ブロックされたプロファイル"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s ブロックされたプロファイル、ページ %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "このグループへの参加をブロックされたユーザのリスト。"
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "グループからのアンブロックユーザ"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "アンブロック"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "このユーザをアンブロックする"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "%s 上のグループ"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "確認コードがありません。"
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "確認コードが見つかりません。"
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "その確認コードはあなたのものではありません!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "不明なアドレスタイプ %s"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "そのアドレスは既に承認されています。"
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "ユーザを更新できません"
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "メール承認を削除できません"
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "アドレスの確認"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "アドレス \"%s\" はあなたのアカウントとして承認されています。"
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "会話"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "つぶやき"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "アプリケーションを削除するにはログインしていなければなりません。"
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "アプリケーションが見つかりません。"
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "このアプリケーションのオーナーではありません。"
@@ -1320,15 +1428,18 @@ msgstr "このアプリケーションのオーナーではありません。"
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "あなたのセッショントークンに関する問題がありました。"
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "アプリケーション削除"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 #, fuzzy
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
@@ -1339,12 +1450,12 @@ msgstr ""
 "ベースからユーザに関するすべてのデータをクリアします。"
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "このアプリケーションを削除しないでください"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "このアプリケーションを削除"
 
@@ -1381,13 +1492,14 @@ msgstr "グループを更新できません。"
 msgid "Deleted group %s"
 msgstr "%1$s はグループ %2$s に残りました。"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "ユーザ削除"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1410,22 +1522,27 @@ msgstr "このつぶやきを削除できません。"
 msgid "Delete this group"
 msgstr "このユーザを削除"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "ログインしていません。"
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "このつぶやきを削除できません。"
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1433,21 +1550,24 @@ msgstr ""
 "あなたはつぶやきを永久に削除しようとしています。 これが完了するとそれを元に戻"
 "すことはできません。"
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "つぶやき削除"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "本当にこのつぶやきを削除しますか?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "このつぶやきを削除できません。"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "このつぶやきを削除"
 
@@ -1534,12 +1654,14 @@ msgstr "サイトテーマ"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "バックグラウンドイメージの変更"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "バックグラウンド"
 
@@ -1553,40 +1675,48 @@ msgstr ""
 "イズは %1$s。"
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "オン"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "オフ"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "バックグラウンドイメージのオンまたはオフ。"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "タイルバックグラウンドイメージ"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "色の変更"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "内容"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "サイドバー"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "テキスト"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "リンク"
 
@@ -1598,29 +1728,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "デフォルトを使用"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "デフォルトデザインに戻す。"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "デフォルトへリセットする"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "保存"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "デザインの保存"
 
@@ -1664,9 +1796,9 @@ msgid "Name is required."
 msgstr "名前は必須です。"
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "名前が長すぎます。(最大255字まで)"
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1695,7 +1827,7 @@ msgid "Organization is required."
 msgstr "組織が必要です。"
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "組織が長すぎます。(最大255字)"
@@ -1719,49 +1851,49 @@ msgstr "コールバックURLが不正です。"
 msgid "Could not update application."
 msgstr "アプリケーションを更新できません。"
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "%s グループを編集"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "グループを作るにはログインしていなければなりません。"
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "グループを編集するには管理者である必要があります。"
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "このフォームを使ってグループを編集します。"
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "記述が長すぎます。(最長%d字)"
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "別名が多すぎます! 最大 %d。"
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "不正な別名: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "グループを更新できません。"
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "別名を作成できません。"
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "オプションが保存されました。"
 
@@ -1960,6 +2092,12 @@ msgstr "承認待ちのものはありません。"
 msgid "That is the wrong email address."
 msgstr "その IM アドレスは不正です。"
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "メール承認を削除できません"
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2043,7 +2181,7 @@ msgstr ""
 "気に入りにつぶやきを加える最初になりましょう!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s のお気に入りのつぶやき"
@@ -2145,19 +2283,23 @@ msgstr "あなたはこのサイトのサンドボックスユーザができま
 msgid "User already has this role."
 msgstr "ユーザは既に黙っています。"
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "プロファイル記述がありません。"
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "そのIDのプロファイルがありません。"
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "グループ記述がありません。"
@@ -2222,8 +2364,10 @@ msgstr ""
 "あなたが選んだパレットの色とバックグラウンドイメージであなたのグループをカス"
 "タマイズしてください。"
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "あなたのデザインを更新できません。"
 
@@ -2243,6 +2387,14 @@ msgstr ""
 "あなたのグループ用にロゴイメージをアップロードできます。最大ファイルサイズは "
 "%s。"
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "アップロード"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "切り取り"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "ロゴとなるイメージの正方形を選択。"
@@ -2385,15 +2537,18 @@ msgstr ""
 "なぜ[アカウント登録](%%action.register%%) や [グループ作成](%%action.newgroup"
 "%%) しないのか!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "管理者だけがグループメンバーをアンブロックできます。"
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "ユーザはグループからブロックされていません。"
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "ブロックの削除エラー"
 
@@ -2482,7 +2637,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "私のJabber/GTalkアドレスのためにMicroIDを発行してください。"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "設定が保存されました。"
 
@@ -2606,10 +2761,9 @@ msgstr[0] "すでにこれらのユーザをフォローしています:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2792,8 +2946,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "不正なウェルカムテキスト。最大長は255字です。"
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2965,28 +3120,20 @@ msgstr "アプリケーションを登録するにはログインしていなけ
 msgid "Use this form to register a new application."
 msgstr "このフォームを使って新しいアプリケーションを登録します。"
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "名前が長すぎます。(最大255字まで)"
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "ソースURLが必要です。"
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "組織が長すぎます。(最大255字)"
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "アプリケーションを作成できません。"
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "新しいグループ"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "このフォームを使って新しいグループを作成します。"
@@ -2996,14 +3143,14 @@ msgid "New message"
 msgstr "新しいメッセージ"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "このユーザにメッセージを送ることはできません。"
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "コンテンツがありません!"
 
@@ -3012,7 +3159,7 @@ msgid "No recipient specified."
 msgstr "受取人が書かれていません。"
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3024,12 +3171,12 @@ msgstr "メッセージを送りました"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "ダイレクトメッセージを %s  に送りました"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax エラー"
 
@@ -3037,17 +3184,7 @@ msgstr "Ajax エラー"
 msgid "New notice"
 msgstr "新しいつぶやき"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "長すぎます。つぶやきは最大 %d 字までです。"
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "つぶやきは URL を含めて最大 %d 字までです。"
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "つぶやきを投稿しました"
 
@@ -3186,25 +3323,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "ユーザはプロフィールをもっていません。"
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%2$s における %1$s のステータス"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "内容種別 "
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "サポートされていないデータ形式。"
@@ -3217,36 +3354,46 @@ msgstr "ピープル検索"
 msgid "Notice Search"
 msgstr "つぶやき検索"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "その他の設定"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "他のオプションを管理。"
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr "(フリーサービス)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "URLを短くします"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "使用する自動短縮サービス。"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "プロファイルデザインを表示"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "プロファイルデザインの表示または非表示"
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL 短縮サービスが長すぎます。(最大50字)"
 
 #: actions/otp.php:69
@@ -3692,8 +3839,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64文字の、小文字アルファベットか数字で、スペースや句読点は除く"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "フルネーム"
@@ -3732,9 +3880,10 @@ msgid "Bio"
 msgstr "自己紹介"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "場所"
@@ -4072,7 +4221,8 @@ msgid "Unexpected password reset."
 msgstr "予期せぬパスワードのリセットです。"
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "パスワードは6字以上でなければいけません。"
 
 #: actions/recoverpassword.php:369
@@ -4314,7 +4464,7 @@ msgid "Repeated!"
 msgstr "繰り返されました!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "%s への返信"
@@ -4447,11 +4597,12 @@ msgstr "組織"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "概要"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "統計データ"
@@ -4469,6 +4620,11 @@ msgstr "アプリケーションアクション"
 msgid "Reset key & secret"
 msgstr "key と secret のリセット"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "削除"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "アプリケーション情報"
@@ -4562,77 +4718,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "これは、あなたが好きなことを共有する方法です。"
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s グループ"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s グループ、ページ %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "グループプロファイル"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "ノート"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "別名"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "グループアクション"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "%s グループのつぶやきフィード (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "%s グループのつぶやきフィード (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "%s グループのつぶやきフィード (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "%s グループの FOAF"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "メンバー"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(なし)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "全てのメンバー"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "作成日"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "メンバー"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4647,7 +4832,10 @@ msgstr ""
 "する短いメッセージを共有します。[今すぐ参加](%%%%action.register%%%%) してこ"
 "のグループの一員になりましょう! ([もっと読む](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4660,24 +4848,31 @@ msgstr ""
 "wikipedia.org/wiki/Micro-blogging) サービス。メンバーは彼らの暮らしと興味に関"
 "する短いメッセージを共有します。"
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "管理者"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "そのようなメッセージはありません。"
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "送信者と受取人だけがこのメッセージを読めます。"
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "%2$s 上の %1$s へのメッセージ"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "%2$s 上の %1$s からのメッセージ"
@@ -4686,47 +4881,67 @@ msgstr "%2$s 上の %1$s からのメッセージ"
 msgid "Notice deleted."
 msgstr "つぶやきを削除しました。"
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "タグ付けされた %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s、ページ %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s とタグ付けされたつぶやき、ページ %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s、ページ %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "%1$sの%2$sとタグ付けされたつぶやきフィード (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "%sのつぶやきフィード (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "%sのつぶやきフィード (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "%sのつぶやきフィード (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "%s の FOAF"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "これは %1$s のタイムラインですが、%2$s はまだなにも投稿していません。"
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4734,7 +4949,9 @@ msgstr ""
 "最近おもしろいものは何でしょう? あなたは少しのつぶやきも投稿していませんが、"
 "いまは始める良い時でしょう:)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4743,7 +4960,9 @@ msgstr ""
 "最初の [このトピック投稿](%%%%action.newnotice%%%%?status_textarea=%s) をして"
 "ください!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4757,7 +4976,9 @@ msgstr ""
 "%%%%)して、**%s** のつぶやきなどをフォローしましょう! ([もっと読む](%%%%doc."
 "help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4768,7 +4989,8 @@ msgstr ""
 "[StatusNet](http://status.net/)を基にした[マイクロブロギング](http://en."
 "wikipedia.org/wiki/Micro-blogging) サービス。"
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "%s の繰り返し"
@@ -4885,35 +5107,43 @@ msgstr ""
 "どれくらい長い間(秒)、ユーザは、再び同じものを投稿するのを待たなければならな"
 "いか。"
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 #, fuzzy
 msgid "Site Notice"
 msgstr "サイトつぶやき"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "新しいメッセージ"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "あなたのデザイン設定を保存できません。"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
-msgstr ""
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
+msgstr "プロファイル自己紹介の最大文字長。"
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "サイトつぶやき"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "サイトつぶやき"
@@ -5136,12 +5366,14 @@ msgstr "このURLにスナップショットを送るでしょう"
 msgid "Save snapshot settings"
 msgstr "サイト設定の保存"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "あなたはそのプロファイルにフォローされていません。"
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "フォローを保存できません。"
 
@@ -5384,76 +5616,94 @@ msgstr ""
 "りません。"
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 #, fuzzy
 msgctxt "TITLE"
 msgid "User"
 msgstr "ユーザ"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "不正な自己紹介制限。数字である必要があります。"
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "不正なウェルカムテキスト。最大長は255字です。"
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "不正なデフォルトフォローです: '%1$s'  はユーザではありません。"
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "プロファイル"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "自己紹介制限"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "プロファイル自己紹介の最大文字長。"
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "新しいユーザ"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "新しいユーザを歓迎"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "新しいユーザへのウェルカムテキスト (最大255字)。"
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "デフォルトフォロー"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "自動的にこのユーザに新しいユーザをフォローしてください。"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "招待"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "招待が可能"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "ユーザが新しいユーザを招待するのを許容するかどうか。"
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5560,11 +5810,13 @@ msgstr "アバターURL を読み取れません '%s'"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "アバター URL '%s' は不正な画像形式。"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "プロファイルデザイン"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5654,7 +5906,7 @@ msgid "Plugins"
 msgstr "プラグイン"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "バージョン"
 
@@ -5687,34 +5939,40 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
 "どんなファイルも %d バイトより大きくてはいけません、そして、あなたが送った"
 "ファイルは %d バイトでした。より小さいバージョンをアップロードするようにして"
 "ください。"
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
 "これほど大きいファイルはあなたの%dバイトのユーザ割当てを超えているでしょう。"
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
 "これほど大きいファイルはあなたの%dバイトの毎月の割当てを超えているでしょう。"
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "不正なサイズ。"
@@ -5844,39 +6102,46 @@ msgid "Problem saving notice."
 msgstr "つぶやきを保存する際に問題が発生しました。"
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "グループ受信箱を保存する際に問題が発生しました。"
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5947,32 +6212,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "ようこそ %1$s、@%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "single-user モードのためのシングルユーザが定義されていません。"
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "グループを作成できません。"
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "グループを作成できません。"
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "グループメンバーシップをセットできません。"
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "フォローを保存できません。"
@@ -6023,135 +6288,141 @@ msgstr ""
 msgid "Untitled page"
 msgstr "名称未設定ページ"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "プライマリサイトナビゲーション"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "パーソナルプロファイルと友人のタイムライン"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 #, fuzzy
 msgctxt "MENU"
 msgid "Personal"
 msgstr "パーソナル"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "パスワードの変更"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "アカウント"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "接続"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "接続"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "基本サイト設定"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 #, fuzzy
 msgctxt "MENU"
 msgid "Admin"
 msgstr "管理者"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, fuzzy, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "友人や同僚が %s で加わるよう誘ってください。"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "招待"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "サイトのテーマ"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "ロゴ"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "新しいグループを作成"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 #, fuzzy
 msgctxt "MENU"
 msgid "Register"
 msgstr "登録"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "サイトへログイン"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 #, fuzzy
 msgctxt "MENU"
 msgid "Login"
 msgstr "ログイン"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "ヘルプ"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 #, fuzzy
 msgctxt "MENU"
 msgid "Help"
 msgstr "ヘルプ"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "もっとグループを検索"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 #, fuzzy
 msgctxt "MENU"
 msgid "Search"
@@ -6159,67 +6430,68 @@ msgstr "検索"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "サイトつぶやき"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "ローカルビュー"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "ページつぶやき"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "セカンダリサイトナビゲーション"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "ヘルプ"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "About"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "よくある質問"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "プライバシー"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "ソース"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "連絡先"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "バッジ"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet ソフトウェアライセンス"
 
@@ -6227,7 +6499,7 @@ msgstr "StatusNet ソフトウェアライセンス"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6237,7 +6509,7 @@ msgstr ""
 "イクロブログサービスです。 "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** はマイクロブログサービスです。"
@@ -6246,7 +6518,7 @@ msgstr "**%%site.name%%** はマイクロブログサービスです。"
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6258,50 +6530,50 @@ msgstr ""
 "org/licensing/licenses/agpl-3.0.html)。"
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "サイト内容ライセンス"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "ページ化"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "<<後"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "前>>"
 
@@ -6382,7 +6654,7 @@ msgid "User configuration"
 msgstr "ユーザ設定"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "ユーザ"
 
@@ -6653,7 +6925,7 @@ msgid "AJAX error"
 msgstr "Ajax エラー"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "コマンド完了"
 
@@ -6670,7 +6942,7 @@ msgstr "その ID によるつぶやきは存在していません"
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "利用者はまだつぶやいていません"
@@ -6740,6 +7012,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6777,171 +7057,173 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "メッセージが長すぎます - 最大 %1$d 字、あなたが送ったのは %2$d。"
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "メッセージが長すぎます - 最大 %1$d 字、あなたが送ったのは %2$d。"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "ダイレクトメッセージ送信エラー。"
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "%s からつぶやきが繰り返されています"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "つぶやき繰り返しエラー"
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "つぶやきが長すぎます - 最大 %d 字、あなたが送ったのは %d"
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "つぶやきが長すぎます - 最大 %d 字、あなたが送ったのは %d"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "%s へ返信を送りました"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "つぶやき保存エラー。"
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "フォローする利用者の名前を指定してください"
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "あなたはそのプロファイルにフォローされていません。"
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "フォローをやめるユーザの名前を指定してください"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "コマンドはまだ実装されていません。"
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "通知オフ。"
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "通知をオフできません。"
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "通知オン。"
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "通知をオンできません。"
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 #, fuzzy
 msgid "Login command is disabled."
 msgstr "ログインコマンドが無効になっています。"
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "あなたはだれにもフォローされていません。"
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "あなたはこの人にフォローされています:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "誰もフォローしていません。"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "この人はあなたにフォローされている:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "あなたはどのグループのメンバーでもありません。"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "あなたはこのグループのメンバーではありません:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7049,10 +7331,13 @@ msgstr "承認された接続アプリケーション"
 msgid "Database error"
 msgstr "データベースエラー"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "ファイルアップロード"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7060,16 +7345,29 @@ msgstr ""
 "自分のバックグラウンド画像をアップロードできます。最大ファイルサイズは 2MB で"
 "す。"
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"サーバーの現在の構成が理由で、大量の POST データ (%sバイト) を処理することが"
-"できませんでした。"
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "オン"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "オフ"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "リセット"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "デフォルトのデザインを回復。"
 
@@ -7097,7 +7395,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7135,7 +7434,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64文字の、小文字アルファベットか数字で、スペースや句読点は除く"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "グループやトピックのホームページやブログの URL"
 
 #: lib/groupeditform.php:168
@@ -7143,19 +7443,27 @@ msgid "Describe the group or topic"
 msgstr "グループやトピックを記述"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "グループやトピックを %d 字以内記述"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "グループやトピックを %d 字以内記述"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "グループの場所, 例えば \"都市, 都道府県 (または 地域), 国\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr "グループのエクストラニックネーム、カンマまたはスペース区切り、最大 %d"
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"グループのエクストラニックネーム、カンマまたはスペース区切り、最大 %d"
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7255,39 +7563,54 @@ msgstr "このページはあなたが承認したメディアタイプでは利
 msgid "Unsupported image file format."
 msgstr "サポート外の画像形式です。"
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "ファイルが大きすぎます。最大ファイルサイズは %s 。"
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "不完全なアップロード。"
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "ファイルのアップロードでシステムエラー"
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "画像ではないかファイルが破損しています。"
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "ファイルを紛失。"
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "不明なファイルタイプ"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7534,7 +7857,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) はお気に入りとしてあなたのつぶやきを加えました"
@@ -7544,7 +7867,7 @@ msgstr "%s (@%s) はお気に入りとしてあなたのつぶやきを加えま
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, fuzzy, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7583,7 +7906,7 @@ msgstr ""
 "%6%s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7593,7 +7916,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) はあなた宛てにつぶやきを送りました"
@@ -7604,7 +7927,7 @@ msgstr "%s (@%s) はあなた宛てにつぶやきを送りました"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7664,7 +7987,7 @@ msgstr "すみません、それはあなたの入って来るメールアドレ
 msgid "Sorry, no incoming email allowed."
 msgstr "すみません、入ってくるメールは許可されていません。"
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "サポート外のメッセージタイプ: %s"
@@ -7732,7 +8055,7 @@ msgstr "ファイルのMIMEタイプを決定できません。"
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7741,7 +8064,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7887,31 +8210,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "サブスクリプションを追加できません"
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "パーソナル"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "返信"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "お気に入り"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "受信箱"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "あなたの入ってくるメッセージ"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "送信箱"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "あなたが送ったメッセージ"
 
@@ -8018,16 +8341,17 @@ msgid "Sandbox this user"
 msgstr "このユーザをサンドボックス"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "サイト検索"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "キーワード"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8108,6 +8432,12 @@ msgstr "タグ付けとしての人々タグクラウド"
 msgid "None"
 msgstr "なし"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "不正なサイズ。"
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8117,8 +8447,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "アバターの更新に失敗しました。"
@@ -8129,29 +8459,31 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "ブロックの削除エラー"
 
@@ -8159,6 +8491,13 @@ msgstr "ブロックの削除エラー"
 msgid "Top posters"
 msgstr "上位投稿者"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "アンブロック"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "アンサンドボックス"
@@ -8324,17 +8663,21 @@ msgid "Message too long. Maximum is %1$d character, you sent %2$d."
 msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "メッセージが長すぎます - 最大 %1$d 字、あなたが送ったのは %2$d。"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "ユーザIDの記述がありません。"
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
index 2d6b45a1940fb42fcd6f122ea210800c785b09f6..f0ee6af8798f0d75a79b122b0abe7f539d8eb2af 100644 (file)
@@ -9,17 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:17+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:27+0000\n"
 "Language-Team: Georgian <http://translatewiki.net/wiki/Portal:ka>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ka\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -76,15 +76,22 @@ msgstr "შეინახე შესვლის პარამეტრე
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "შეინახე"
@@ -115,6 +122,7 @@ msgstr "ასეთი გვერდი არ არსებობს."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -127,14 +135,14 @@ msgstr "ასეთი გვერდი არ არსებობს."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "ასეთი მომხმარებელი არ არსებობს."
@@ -151,7 +159,7 @@ msgstr "%1$s და მეგობრები, გვერდი %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr " %s და მეგობრები"
@@ -205,7 +213,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -305,11 +315,12 @@ msgstr "მომხმარებლის განახლება ვე
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -322,11 +333,13 @@ msgstr "პროფილის შენახვა ვერ მოხერ
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -496,43 +509,53 @@ msgstr "ავტორი მომხმარებლის განსა
 msgid "Could not find target user."
 msgstr "სასურველი მომხმარებელი ვერ მოიძებნა."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "მეტსახელში დასაშვებია მხოლოდ პატარა ასოები და ციფრები."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "მეტსახელი უკვე გამოყენებულია. სცადე სხვა."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "მეტსახელი არასწორია."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "სასტარტო გვერდი არასწორი URL-ია."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -541,19 +564,25 @@ msgstr "სრული სახელი ძალიან გრძელი
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "აღწერა ძალიან გრძელია (არაუმეტეს %d სიმბოლო)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -561,7 +590,12 @@ msgstr "ადგილმდებარეობა ძალიან გრ
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -576,15 +610,19 @@ msgstr ""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr ""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -689,21 +727,21 @@ msgid "Request token already authorized."
 msgstr "თქვენ არ ხართ ავტორიზირებული."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -719,17 +757,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "ბაზამ დაუშვა შეცდომა OAuth აპლიკაციის მომხმარებლის ჩასმისას."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr ""
 
@@ -773,9 +813,10 @@ msgstr "ანგარიში"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -869,20 +910,21 @@ msgstr "სხვა მომხმარებლის სტატუსი
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "ასეთი შეტყობინება არ არსებობს."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "საკუთარი შეტყობინების გამეორება არ შეიძლება."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "ეს შეტყობინება უკვე გამეორებულია."
 
@@ -903,7 +945,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -917,7 +960,7 @@ msgstr "API მეთოდი ვერ მოიძებნა."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1022,105 +1065,140 @@ msgstr "API მეთოდი დამუშავების პროცე
 msgid "User not found."
 msgstr "API მეთოდი ვერ მოიძებნა."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "ასეთი მიმაგრებული დოკუმენტი ვერ მოიძებნა."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "მეტსახელი უცნობია."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "ზომა უცნობია."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "ზომა არასწორია."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "ავატარი"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "თქვენ შეგიძლიათ ატვირთოთ პერსონალური ავატარი. ფაილის დასაშვები ზომაა %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "მომხმარებელი შესაბამისი პროფილის გარეშე."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "ავატარის პარამეტრები."
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "ორიგინალი"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "წინასწარი გადახედვა"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "წაშლა"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "ატვირთვა"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "მოჭრა"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "არცერთი ფაილი არ ატვირთულა"
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "აირჩიეთ სურათის კვადრატული მონაკვეთი თქვენი ავატარისთვის"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "ავატარი განახლდა."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "ავატარის განახლება ვერ მოხერხდა."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "ავატარი წაიშალა."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "თქვენ უკვე დაბლოკეთ ეს მომხმარებელი."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "მომხმარებლის დაბლოკვა"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1133,8 +1211,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1142,7 +1220,7 @@ msgstr "არა"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "არ დაბლოკო ეს მომხმარებელი"
 
@@ -1152,8 +1230,8 @@ msgstr "არ დაბლოკო ეს მომხმარებელი
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1161,140 +1239,170 @@ msgstr "დიახ"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "დაბლოკე ეს მომხმარებელი"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "დაბლოკვის შესახებ ინფორმაციის შენახვა ვერ მოხერხდა."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "ასეთი ჯგუფი ვერ მოიძებნა."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s დაბლოკილი პროფილი"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s დაბლოკილი პროფილი, გვერდი %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "ამ ჯგუფში გაწევრიანებისგან დაბლოკილ მომხმარებელთა სია."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "მომხმარებლის ბლოკირების მოხსნა ჯგუფიდან"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "ბლოკირების მოხსნა"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "მომხმარებლის ბლოკირების მოხსნა"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "დაუპოსტე %s-ს"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "დასადასტურებელი კოდი არ არის."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "დასადასტურებელი კოდი ვერ მოიძებნა."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "ეს დასადასტურებელი კოდი თქვენთვის არ არის!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "მისამართის ამოუცნობი ტიპი %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "ეს მისამართი უკვე დადასტურებულია."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "მომხმარებლის განახლება ვერ მოხერხდა."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "ელ. ფოსტის დადასტურების წაშლა ვერ მოხერხდა."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "IM დასტურის წაშლა ვერ მოხერხდა."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "მისამართის დასტური"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "მისამართი \"%s\" დადასტურდა თქვენი ანგარიშისთვის."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "საუბარი"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "შეტყობინებები"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "აპლიკაციის წასაშლელად საჭიროა ავროტიზაცია."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "აპლიკაცია ვერ მოიძებნა."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "თქვენ არ ხართ ამ აპლიკაციის მფლობელი."
@@ -1302,15 +1410,18 @@ msgstr "თქვენ არ ხართ ამ აპლიკაციი
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "აპლიკაციის წაშლა"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1320,12 +1431,12 @@ msgstr ""
 "მონაცემებს ამ აპლიკაციის შესახებ, ყველა შეერთებული მომხმარებლის ჩათვლით."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "არ წაშალო ეს აპლიკაცია"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "აპლიკაციის წაშლა"
 
@@ -1361,13 +1472,14 @@ msgstr "ჯგუფის განახლება ვერ მოხერ
 msgid "Deleted group %s"
 msgstr "%1$s-მა დატოვა ჯგუფი %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "მომხმარებლის წაშლა"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1390,42 +1502,50 @@ msgstr "არ წაშალო ეს შეტყობინება"
 msgid "Delete this group"
 msgstr "ამ მომხმარებლის წაშლა"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "ავტორიზებული არ ხართ."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "ამ შეტყობინების წაშლა შეუძლებელია."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr "თქვენ შეტყობინების სამუდამოდ წაშლას აპირებთ. ეს მოქმედება შეუქცევადია."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "შეტყობინების წაშლა"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "ნამდვილად გსურთ ამ შეტყობინების წაშლა?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "არ წაშალო ეს შეტყობინება"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "შეტყობინების წაშლა"
 
@@ -1512,12 +1632,14 @@ msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 "თქვენ შეგიძლიათ ატვირთოთ საკუთარი StatusNet–იერსახე .ZIP არქივის სახით."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "შეცვალე ფონური სურათი"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "ფონი"
 
@@ -1531,40 +1653,48 @@ msgstr ""
 "ზომაა %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "ჩართვა"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "გამორთვა"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "ჩართე ან გამორთე ფონური სურათის ფუნქცია."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "გაამრავლე ფონური სურათი"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "შეცვალე ფერები"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "შიგთავსი"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "გვერდითი პანელი"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "ტექსტი"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "ბმულები"
 
@@ -1576,29 +1706,31 @@ msgstr "მეტი პარამეტრები"
 msgid "Custom CSS"
 msgstr "საკუთარი CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "გამოიყენე პირვანდელი მდგომარეობა"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "დააბრუნე პირვანდელი დიზაინი"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "პირვანდელის პარამეტრების დაბრუნება"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "შენახვა"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "შეინახე დიზაინი"
 
@@ -1642,9 +1774,9 @@ msgid "Name is required."
 msgstr "სახელი სავალდებულოა."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "სახელი ძალიან გრძელია (არაუმეტეს 255 სიმბოლო)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1673,7 +1805,7 @@ msgid "Organization is required."
 msgstr "ორგანიზაცია სავალდებულოა."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "ორგანიზაცია ძალიან გრძელია (არაუმეტეს 255 სიმბოლო)."
@@ -1697,49 +1829,49 @@ msgstr ""
 msgid "Could not update application."
 msgstr "აპლიკაციის განახლება ვერ მოხერხდა."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "%s ჯგუფის რედაქტირება"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "გჯუფის შესაქმნელად საჭიროა ავტორიზაცია."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "ჯგუფის რედაქტირებისათვის საჭიროა ადმინის უფლებები."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "ჯგუფის რედაქტირებისათვის გამოიყენეთ ეს ფორმა."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "აღწერა ძალიან გრძელია (არაუმეტეს %d სიმბოლო)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr ""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "ჯგუფის განახლება ვერ მოხერხდა."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr ""
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "პარამეტრები შენახულია."
 
@@ -1933,6 +2065,12 @@ msgstr "გასაუქმებელიარაფერია. არ ა
 msgid "That is the wrong email address."
 msgstr "ეს არასწორი ელ. ფოსტის მისამართია."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "ელ. ფოსტის დადასტურების წაშლა ვერ მოხერხდა."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2015,7 +2153,7 @@ msgstr ""
 "[დარეგისტრირდი](%%action.register%%) და შეიტანე შეტყობინება შენს რჩეულებში!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s-ს რჩეული შეტყობინებები"
@@ -2112,19 +2250,23 @@ msgstr "თქვენ არ შეგიძლიათ როლების
 msgid "User already has this role."
 msgstr "მომხმარებელს უკვე აქვს ეს როლი."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "პროფილი მითითებული არ არის."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "ასეთი ID-ს მქონე პროფილი ვერ მოიძებნა."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "ჯგუფი მითითებული არ არის."
@@ -2190,8 +2332,10 @@ msgstr ""
 "აირჩიეთ, როგორ გნებავთ გამოიყურებოდეს თქვენი ჯგუფი ფონური სურათისა და ფერთა "
 "პალიტრის შეცვლით."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "დიზაინის განახლება ვერ მოხერხდა."
 
@@ -2210,6 +2354,14 @@ msgid ""
 msgstr ""
 "თქვენ შეგიძლიათ ატვირთოთ ლოგოს თქვენი ჯგუფისათვის. ფაილის დასაშვები ზომაა %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "ატვირთვა"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "მოჭრა"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "აირჩიეთ სურათის კვადრატული მონაკვეთი ლოგოსათვის."
@@ -2353,15 +2505,18 @@ msgstr ""
 "[დაარეგისტრირეთ ანგარიში](%%action.register%%) და [შექმენით ჯგუფი](%%action."
 "newgroup%%) თვითონ!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "მხოლოდ ადმინს შეუძლია ჯგუფის წევრისთვის ბლოკის მოხსნა."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "მომხმარებელი არ არის დაბლოკილი ჯგუფიდან."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "შეცდომა ბლოკის მოხსნისას."
 
@@ -2449,7 +2604,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "გამოაქვეყნე  MicroID ჩემი Jabber/GTalk მისამართისთვის."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "პარამეტრები შენახულია."
 
@@ -2572,10 +2727,9 @@ msgstr[0] "თქვენ უკვე გამოწერილი გაქ
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2759,8 +2913,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "არასწორი მისასალმებელი ტექსტი. სიმბოლოების მაქს. რაოდენობაა 255."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2932,28 +3087,20 @@ msgstr "აპლიკაციის დასარეგისტრირ
 msgid "Use this form to register a new application."
 msgstr "აპლიკაციაში დასარეგისტრირებლად გამოიყენეთ ეს ფორმა."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "სახელი ძალიან გრძელია (არაუმეტეს 255 სიმბოლო)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "წყაროს URL სავალდებულოა."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "ორგანიზაცია ძალიან გრძელია (არაუმეტეს 255 სიმბოლო)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "აპლიკაციის შექმნა ვერ მოხერხდა."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "ახალი ჯგუფი"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "ახალი ჯგუფის შესაქმნელად გამოიყენეთ ეს ფორმა."
@@ -2963,14 +3110,14 @@ msgid "New message"
 msgstr "ახალი შეტყობინება"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "ამ მომხმარებელს შეტყობინებას ვერ გაუგზავნი."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "შიგთავსი არ არის!"
 
@@ -2979,7 +3126,7 @@ msgid "No recipient specified."
 msgstr "მიმღები მითითებული არ არის."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "ნუ გაუგზავნი შეტყობინებას საკუთარ თავს; უბრალოდ ჩუმად ჩაუჩურჩულე."
@@ -2990,12 +3137,12 @@ msgstr "შეტყობინება გაგზავნილია"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "პირდაპირი შეტყობინება გაეგზავნა %s–ს."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax შეცდომა"
 
@@ -3003,17 +3150,7 @@ msgstr "Ajax შეცდომა"
 msgid "New notice"
 msgstr "ახალი შეტყობინება"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "შეტყობინების დასაძვები ზომაა %d სიმბოლო."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "შეყობინების დასაშვები ზომაა %d სიმბოლო მიმაგრებული URL-ის ჩათვლით."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "შეტყობინება დაიპოსტა"
 
@@ -3148,25 +3285,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "შეტყობინებას პრფილი არ გააჩნია."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s–ის სტატუსი %2$s–ზე"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "შიგთავსის ტიპი %s არ არის მხარდაჭერილი."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "გთხოვთ გამოიყენოთ მხოლოდ %s URL–ები წმინდა HTTP მეთოდით."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "მონაცემთა ფორმატი მხარდაჭერილი არ არის."
@@ -3179,36 +3316,46 @@ msgstr "პიროვნებების ძიება"
 msgid "Notice Search"
 msgstr "შეტყობინებების ძიება"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "სხვა პარამეტრები"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "სხა მრავალნაირი პარამეტრების მართვა."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (უფასო სერვისი)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "შეამოკლე URL–ები შემდეგით"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "გამოსაყენებელი შემოკლების ავტომატური სერვისი."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "პროფილის დიზაინების ნახვა"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "აჩვენე ან დამალე პროფილის დიზაინები."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL–ს შემოკლების სერვისი ძალიან გრძელია (მაქს. 50 სიმბოლო)."
 
 #: actions/otp.php:69
@@ -3650,8 +3797,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1–64 პატარა ასოები ან ციფრები. პუნქტუაციები ან სივრცეები დაუშვებელია"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "სრული სახელი"
@@ -3690,9 +3838,10 @@ msgid "Bio"
 msgstr "ბიოგრაფია"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "მდებარეობა"
@@ -4026,7 +4175,8 @@ msgid "Unexpected password reset."
 msgstr "პაროლის მოულოდნელი გადაყენება."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "პაროლი უნდა შედგებოდეს 6 ან მეტი სიმბოლოსგან."
 
 #: actions/recoverpassword.php:369
@@ -4272,7 +4422,7 @@ msgid "Repeated!"
 msgstr "გამეორებული!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "პასუხები %s–ს"
@@ -4403,11 +4553,12 @@ msgstr "ორგანიზაცია"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "აღწერა"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "სტატისტიკა"
@@ -4425,6 +4576,11 @@ msgstr "აპლიკაციის მოქმედებები"
 msgid "Reset key & secret"
 msgstr "გასაღების და საიდუმლოს გადაყენება"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "წაშლა"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "ინფო აპლიკაციაზე"
@@ -4514,77 +4670,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr ""
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr ""
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr ""
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr ""
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "შენიშვნა"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr ""
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr ""
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr ""
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr ""
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr ""
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "წევრები"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(არცერთი)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr ""
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "შექმნილია"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "წევრები"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4594,7 +4779,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4603,24 +4791,31 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr ""
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr ""
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr ""
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr ""
@@ -4629,60 +4824,86 @@ msgstr ""
 msgid "Notice deleted."
 msgstr ""
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr ""
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s - %2$s"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "შეტყობინებები მონიშნული %1$s-ით, გვერდი %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr ""
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr ""
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr ""
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr ""
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
+"ეს არის $s-ს და მეგობრების განახლებების ნაკადი, მაგრამ ჯერჯერობით არავის "
+"დაუპოსტავს."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4691,7 +4912,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4699,7 +4922,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr ""
@@ -4810,31 +5034,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "რამდენი ხანი (წამებში) უნდა ელოდოს მომხმარებელი რომ დაპოსტოს ერთი და იგივე."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "საიტის შეტყობინება"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "ჩაასწორე საიტის მომცველი შეტყობინება"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "საიტის შეტყობინების შენახვა ვერ მოხერხდა."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "საიტის მომცველი შეტყობინების მაქს. ზომაა 255 სიმბოლო."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "საიტის შეტყობინების ტექსტი"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "საერთო სასაიტო შეტყობინების ტექსტი (მაქს. 255 სიმბოლო; HTML შეიძლება)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "შეინახე საერთოსასაიტო შეტყობინება"
 
@@ -5053,12 +5286,14 @@ msgstr "მდგომარეობა გაიგზავნება ა
 msgid "Save snapshot settings"
 msgstr "დაიმახსოვრე მდგომარეობის პარამეტრები"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "თქვენ არ გაქვთ გამოწერილი ამ პროფილის განახლებები."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "გამოწერის დამახსოვრება ვერ მოხერხდა."
 
@@ -5303,75 +5538,93 @@ msgstr ""
 "ლიცენზიასთან ‘%2$s’."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "მომხმარებელი"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "ბიოგრაფიის არასწორი ლიმიტი. უნდა იყოს ციფრი."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "არასწორი მისასალმებელი ტექსტი. სიმბოლოების მაქს. რაოდენობაა 255."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "პროფილი"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "ბიოგრაფიის ლიმიტი"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "პროფილის ბიოგრაფიის მაქსიმალური ზომა სიმბოლოებში."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "ახალი მომხმარებლები"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "ახალი მომხმარებლის მისალმება"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "მისალმების ტექსტი ახალი მომხმარებლებისთვის (მაქს. 255 სიმბოლო)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr ""
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "ავტომატურად გამოაწერინე ამ მომხმარებელს ახალი მომხმარებლები."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "მოსაწვევეი"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "მოსაწვევები გააქტიურებულია"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "მიეცეთ თუ არა მომხმარებლებს სხვების მოწვევის უფლება."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5479,11 +5732,13 @@ msgstr "ვერ ვკითხულობ ავატარის URL ‘%s
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "ავატარის სურათის ფორმატი არასწორია URL ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "პროფილის დიზაინი"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5582,7 +5837,7 @@ msgid "Plugins"
 msgstr "დამატებები"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "ვერსია"
 
@@ -5615,34 +5870,40 @@ msgstr "რობინი ფიქრობს რაღაც შეუძლ
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
 "ფაილი არ შეიძლება იყოს %1$d ბაიტზე მეტი, თქვენ მიერ გაგზავნილი კი %2$d ბაიტი "
 "იყო. სცადეთ უფრო პატარა ვერსიის ატვირთვა."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
 "ასეთი ზომის ფაილმა შეიძლება გადააჭარბოს თქვენთვის გამოყოფილ კვოტას, %d ბაიტს."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
 "ასეთი ზომის ფაილმა შეიძლება გადააჭარბოს თქვენთვის გამოყოფილ თვიურ კვოტას, %d "
 "ბაიტს."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "ფაილის არასწორი სახელი."
 
@@ -5771,32 +6032,40 @@ msgid "Problem saving notice."
 msgstr "პრობლემა შეტყობინების შენახვისას."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "saveKnownGroups-სათვის არასწორი ტიპია მოწოდებული"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "პრობლემა ჯგუფის ინდექსის შენახვისას."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5804,7 +6073,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5876,32 +6145,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "გამარჯობა @%2$s, კეთილი იყოს თქვენი მობრძანება %1$s-ზე!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "ერთი მომხმარებელი არ განსაზღვრულა ერთარედთი-მომხმარებლის რეჟიმისთვის."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "ჯგუფის შექმნა ვერ მოხერხდა."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "ჯგუფის URI-ს მინიჭება ვერ მოხერხდა."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "ჯგუფის წევრობის მინიჭება ვერ მოხერხდა."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "ჯგუფის ლოკალური ინფორმაციის დამახსოვრება ვერ მოხერხდა."
 
@@ -5951,194 +6220,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "უსათაურო გვერდი"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "საიტის ძირითადი ნავიგაცია"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "პირადი პროფილი და მეგობრების ნაკადი"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "პირადი"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "შეცვალე ელ. ფოსტა, ავატარი, პაროლი, პროფილი"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "ანგარიში"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "სერვისებთან დაკავშირება"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "კავშირი"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "საიტის კონფიგურაცია"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "ადმინი"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "მოიწვიე მეგობრები და კოლეგები %s-ზე"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "მოწვევა"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "გასვლა საიტიდან"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "გასვლა"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "გახსენი ანგარიში"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "რეგისტრაცია"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "საიტზე შესვლა"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "შესვლა"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "დამეხმარეთ!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "დახმარება"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "მოძებნე ხალხი ან ტექსტი"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "ძიება"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "საიტის შეტყობინება"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "ლოკალური ხედები"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "გვერდის შეტყობინება"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "საიტის მეორადი ნავიგაცია"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "დახმარება"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "საიტის შესახებ"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "ხდკ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "მპ"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "პირადი"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "წყარო"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "კონტაქტი"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "იარლიყი"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet კოდის ლიცენზია"
 
@@ -6146,7 +6422,7 @@ msgstr "StatusNet კოდის ლიცენზია"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6156,7 +6432,7 @@ msgstr ""
 "(%%site.broughtbyurl%%)-ს მიერ."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** არის მიკრობლოგინგის სერვისი."
@@ -6165,7 +6441,7 @@ msgstr "**%%site.name%%** არის მიკრობლოგინგი
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6177,51 +6453,51 @@ msgstr ""
 "org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "საიტის შიგთავსის ლიცენზია"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "%1$s ის შიგთავსი და მონაცემები არის პირადული და კონფიდენციალური."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "შიგთავსი და მონაცემები %1$s-ის საკუთრებაა. ყველა უფლება დაცულია."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "შიგთავსი და მონაცემები წვლილის შემტანების საკუთრებაა. ყველა უფლება დაცულია."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "%1$s-ს მთლიანი შიგთავსი და მონაცემები ხელმისაწვდომია %2$s ლიცენზიით."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "გვერდებათ დაყოფა"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "შემდეგი"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "წინა"
 
@@ -6300,7 +6576,7 @@ msgid "User configuration"
 msgstr "მომხმარებლის კონფიგურაცია"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "მომხმარებელი"
 
@@ -6567,7 +6843,7 @@ msgid "AJAX error"
 msgstr "Ajax შეცდომა"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "ბრძანება დასრულდა"
 
@@ -6583,7 +6859,7 @@ msgstr "შეტყობინებები ამ ID-თ არ არს
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "მომხმარებელს არ გააჩნია ბოლო შეტყობინება."
 
@@ -6652,6 +6928,14 @@ msgstr "%1$s გაწევრიანდა ჯგუფში %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s-მა დატოვა ჯგუფი %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6691,171 +6975,173 @@ msgstr ""
 "%s დაშორებული პროფილია; პირდაპირი შეტყობინებების გაგზავნა მხოლოდ იგივე "
 "სერვერზე მყოფ მომხმარებელთანაა შესააძლებელი."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
 "შეტყობინება ძალიან გრძელია - დასაშვები რაოდენობაა %1$d სიმბოლომდე, თქვენ "
 "გააგზავნეთ %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "შეცდომა პირდაპირი შეტყობინების გაგზავნისას."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "შეტყობინება %s-გან გამეორდა."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "შეცდომა შეტყობინების გამეორებისას."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
 "შეტყობინება ძალიან გრძელია - დასაშვები რაოდენობაა %1$d სიმბოლომდე, თქვენ "
 "გააგზავნეთ %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "პასუხი %s-ს გაეგზავნა."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "შეცდომა შეტყობინების შენახვისას."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "მიუთითეთ მომხმარებლის სახელი, რომელსაც გინდათ ყური დაუგდოთ."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "%s-ს გამოწერა დასრულდა წარმატებით."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "მიუთითეთ მომხმარებლის სახელი, რომ გამოწერა გააუქმოთ."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "%s-ს გამოწერა გაუქმდა."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "ბრძანება ჯერ არ არის შემუშავებული."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr ""
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr ""
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] ""
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6961,10 +7247,13 @@ msgstr "ავტორიზირებული შეერთებულ
 msgid "Database error"
 msgstr "მონაცემთა ბაზის შეცდომა"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "ფაილის ატვირთვა"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -6972,16 +7261,29 @@ msgstr ""
 "თქვენ შეგიძლიათ ატვირთოთ პერსონალური ფონური სურათი. ფაილის დასაშვები ზომაა "
 "2მბ."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"სამწუხაროდ სერვერმა ვერ გაუძლო ამდენ POST მონაცემებს (%s ბაიტი) მიმდინარე "
-"კონფიგურაციის გამო."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "ჩართვა"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "გამორთვა"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "გადაყენება"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "დიზაინის პირველადი პარამეტრები დაბრუნებულია."
 
@@ -7009,7 +7311,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7047,7 +7350,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1–64 პატარა ასოები ან ციფრები. პუნქტუაციები ან სივრცეები დაუშვებელია"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "საწყისი გვერდის URL, ან ჯგუფის/თემის ბლოგი"
 
 #: lib/groupeditform.php:168
@@ -7055,21 +7359,28 @@ msgid "Describe the group or topic"
 msgstr "აღწერე ჯგუფი ან თემა"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "არწერე ჯგუფი ან თემა %d სიმბოლოთი"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "არწერე ჯგუფი ან თემა %d სიმბოლოთი"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "ჯგუფის მდებარეობა არსებობის შემთხვევაში. მაგ.: \"ქალაქი, ქვეყანა (ან რეგიონი)"
 "\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
 "ჯგუფის დამატებითი მეტსახელები. გამოყავით მძიმით ან სივრცით. მაქსიმუმ %d "
 "სიმბოლო"
 
@@ -7171,39 +7482,54 @@ msgstr "ეს გვერდი მიუწვდომელია იმ 
 msgid "Unsupported image file format."
 msgstr "სურათის ფორმატი მხარდაჭერილი არ არის."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "ეს ფაილი ძალიან დიდია. ფაილის მაქს. ზომაა %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "ნაწილობრივი ატვირთვა."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "სისტემური შეცდომა ფაილის ატვირთვისას."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "სურათი არ არის, ან ფაილი დაზიანებულია."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "ფაილი დაიკარგა."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "ფაილის ტიპი უცნობია"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "მბ"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "მბ"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "კბ"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "კბ"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7454,7 +7780,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s-მა (@%s) დაამატა თქვენი შეტყობინება თავის რჩეულებში"
@@ -7464,7 +7790,7 @@ msgstr "%s-მა (@%s) დაამატა თქვენი შეტყო
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7503,7 +7829,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7516,7 +7842,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s-მა (@%s) გამოაგზავნა შეტყობინება თქვენს საყურადღებოდ"
@@ -7527,7 +7853,7 @@ msgstr "%s-მა (@%s) გამოაგზავნა შეტყობი
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7589,7 +7915,7 @@ msgstr ""
 msgid "Sorry, no incoming email allowed."
 msgstr "ბოდიში, შემომავალი ელ. ფოსტის მისამართი არ არის დაშვებული."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "შეტყობინების ტიპი არ არის მხარდაჭერილი: %s"
@@ -7655,7 +7981,7 @@ msgstr "ფაილის MIME ტიპი ვერ დადგინდა.
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7664,7 +7990,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7805,31 +8131,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "ახალი გამოწერის ჩასმა ვერ მოხერხდა."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "პირადი"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "პასუხები"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "რჩეულები"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "შემომავალი წერილების ყუთი"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "თქვენი შემომავალი შეტყობინებები"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "გამავალი წერილების ყუთი"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "თქვენი გაგზავნილი წერილები"
 
@@ -7936,16 +8262,17 @@ msgid "Sandbox this user"
 msgstr "ამ მომხმარებლის იზოლირება"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "ძიება საიტზე"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "საკვანძო სიტყვები"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8026,6 +8353,12 @@ msgstr "მომხმარებლების სანიშნეებ
 msgid "None"
 msgstr "არაფერი"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "ფაილის არასწორი სახელი."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "ამ სერვერს არ შეუძლია თემების ატვირთვა ZIP-ის მხარდაჭერის გარეშე."
@@ -8035,8 +8368,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "თემის ფაილი არ არის, ან ატვირთვა ვერ მოხერხდა."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "თემის შენახვა ჩაიშალა."
 
@@ -8045,15 +8378,18 @@ msgid "Invalid theme: bad directory structure."
 msgstr "არასწორი თემა: დირექტორიების არასწორი სტრუქტურა."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr "ატვირთული თემა ძალიან დიდია; შეუკუმშავი უნდა იყოს %d ბაიტზე ნაკლები."
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"ატვირთული თემა ძალიან დიდია; შეუკუმშავი უნდა იყოს %d ბაიტზე ნაკლები."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "თემის არასწორი არქივი: ფაილი css/display.css არ არის"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8061,17 +8397,17 @@ msgstr ""
 "თემა შეიცავს ფაილის ან საქაღალდის არასწორ სახელს. გამოიყენეთ ASCII ასოები, "
 "ციფრები, ქვედა ტირე, და მინუსის ნიშანი."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "თემა ფაილის  გაფართოებების საშიშ სახელებს შეიცავს; შეიძლება არ იყოს უსაფრთხო."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "თემა შეიცავს ფაილის ტიპს '.%s', რომელიც აკრძალულია."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "თემის არქივის გახსნისას მოხდა შეცდომა."
 
@@ -8079,6 +8415,13 @@ msgstr "თემის არქივის გახსნისას მო
 msgid "Top posters"
 msgstr "საუკეთესო მპოსტავები"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "ბლოკირების მოხსნა"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "იზოლირების მოხსნა"
@@ -8243,17 +8586,21 @@ msgstr[0] ""
 "შეტყობინება ძალიან გრძელია - დასაშვები რაოდენობაა %1$d სიმბოლომდე, თქვენ "
 "გააგზავნეთ %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "მომხმარებლის ID მითითებული არ არის."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
index 1c1b1a444e623392207b52769b87f826a38b1f96..3595f51613f44a0e200a72399a2cffd8a71d4234 100644 (file)
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:19+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:30+0000\n"
 "Language-Team: Korean <http://translatewiki.net/wiki/Portal:ko>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ko\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -78,15 +78,22 @@ msgstr "접근 설정을 저장"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "저장"
@@ -117,6 +124,7 @@ msgstr "해당하는 페이지 없음"
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -129,14 +137,14 @@ msgstr "해당하는 페이지 없음"
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "해당하는 이용자 없음"
@@ -153,7 +161,7 @@ msgstr "%s 및 친구들, %d 페이지"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s 및 친구들"
@@ -205,7 +213,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -301,11 +311,12 @@ msgstr "이용자를 업데이트 할 수 없습니다."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -318,11 +329,13 @@ msgstr "프로필을 저장 할 수 없습니다."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -494,9 +507,11 @@ msgstr "소스 이용자를 확인할 수 없습니다."
 msgid "Could not find target user."
 msgstr "타겟 이용자를 찾을 수 없습니다."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -504,35 +519,43 @@ msgstr ""
 "다."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "별명이 이미 사용중 입니다. 다른 별명을 시도해 보십시오."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "유효한 별명이 아닙니다"
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "홈페이지 주소형식이 올바르지 않습니다."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -541,19 +564,25 @@ msgstr "실명이 너무 깁니다. (최대 255글자)"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "설명이 너무 깁니다. (최대 %d 글자)"
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -561,7 +590,12 @@ msgstr "위치가 너무 깁니다. (최대 255글자)"
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -576,15 +610,19 @@ msgstr "사용할 수 없는 별명 : \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "별명 \"%s\" 이 이미 사용중 입니다. 다른 별명을 시도해 보십시오."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -690,21 +728,21 @@ msgid "Request token already authorized."
 msgstr "당신은 이 프로필에 구독되지 않고있습니다."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "세션토큰에 문제가 있습니다. 다시 시도해주십시오."
 
@@ -720,17 +758,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "OAuth 응용 프로그램 사용자 추가 중 데이터베이스 오류"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "잘못된 폼 제출"
 
@@ -780,9 +820,10 @@ msgstr "계정"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -876,20 +917,21 @@ msgstr "당신은 다른 사용자의 상태를 삭제하지 않아도 된다."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "그러한 통지는 없습니다."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "자기 자신의 소식은 재전송할 수 없습니다."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "이미 재전송된 소식입니다."
 
@@ -910,7 +952,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -924,7 +967,7 @@ msgstr "API 메서드 발견 안 됨."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1028,104 +1071,139 @@ msgstr "API 메서드를 구성중 입니다."
 msgid "User not found."
 msgstr "API 메서드 발견 안 됨."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "해당하는 첨부파일이 없습니다."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "별명이 없습니다."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "사이즈가 없습니다."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "옳지 않은 크기"
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "아바타"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "당신의 개인 아바타를 업로드할 수 있습니다. 최대 파일 크기는 %s 입니다."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "이용자가 프로필을 가지고 있지 않습니다."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "아바타 설정"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "원래 설정"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "미리보기"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "삭제"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "올리기"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "자르기"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "파일을 업로드하지 않았습니다."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "그림에서 당신의 아바타로 사용할 영역을 지정하십시오."
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "파일 데이터를 잃어버렸습니다."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "아바타가 업데이트 되었습니다."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "아바타 업데이트 실패"
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "아바타가 삭제되었습니다."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "이미 차단된 이용자입니다."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "사용자를 차단합니다."
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1140,8 +1218,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1149,7 +1227,7 @@ msgstr "아니오"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "이용자를 차단하지 않는다."
 
@@ -1159,8 +1237,8 @@ msgstr "이용자를 차단하지 않는다."
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1168,141 +1246,171 @@ msgstr "예"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "이 사용자 차단하기"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "정보차단을 저장하는데 실패했습니다."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "그러한 그룹이 없습니다."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s 및 친구들, %d 페이지"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s 및 친구들, %2$d 페이지"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "이 그룹의 회원리스트"
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "그룹 이용자는 차단해제"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "차단해제"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "이 사용자를 차단해제합니다."
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "%s 사이트의 그룹"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "확인 코드가 없습니다."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "인증 코드가 없습니다."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "그 인증 코드는 귀하의 것이 아닙니다!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "인식되지않은 주소유형 %s"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "그 주소는 이미 승인되었습니다."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "사용자를 업데이트 할 수 없습니다."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "ë©\94ì\9d¼ 승인을 삭제 할 수 없습니다."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "ë©\94ì\8b ì \80 승인을 삭제 할 수 없습니다."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "주소 확인"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "\"%s\" 는 귀하의 계정으로 승인되었습니다."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "대화"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "통지"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "응용 프로그램 수정을 위해서는 로그인해야 합니다."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "인증 코드가 없습니다."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "이 응용프로그램 삭제 않기"
@@ -1310,15 +1418,18 @@ msgstr "이 응용프로그램 삭제 않기"
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "당신의 세션토큰관련 문제가 있습니다."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "응용프로그램 삭제"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1326,12 +1437,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "이 응용프로그램 삭제 않기"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "이 응용프로그램 삭제"
 
@@ -1368,13 +1479,14 @@ msgstr "그룹을 업데이트 할 수 없습니다."
 msgid "Deleted group %s"
 msgstr "%1$s의 상태 (%2$s에서)"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "이용자 삭제"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1394,22 +1506,27 @@ msgstr "이 통지를 지울 수 없습니다."
 msgid "Delete this group"
 msgstr "이 사용자 삭제"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "로그인하고 있지 않습니다."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "이 통지를 지울 수 없습니다."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 #, fuzzy
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
@@ -1417,22 +1534,25 @@ msgid ""
 msgstr ""
 "영구적으로 게시글을 삭제하려고 합니다. 한번 삭제되면, 복구할 수 없습니다."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "통지 삭제"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "정말로 통지를 삭제하시겠습니까?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 #, fuzzy
 msgid "Do not delete this notice"
 msgstr "이 통지를 지울 수 없습니다."
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "이 게시글 삭제하기"
 
@@ -1516,12 +1636,14 @@ msgstr "사용자 지정 테마"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "배경 이미지 바꾸기"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "배경"
 
@@ -1534,40 +1656,48 @@ msgstr ""
 "사이트의 배경 이미지를 업로드할 수 있습니다. 최대 파일 크기는 %1$s 입니다."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "켜기"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "끄기"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "배경 이미지를 켜거나 끈다."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "배경 이미지를 반복 나열"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "색상 변경"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "만족하는"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "가장자리 창"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "문자"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "링크"
 
@@ -1579,29 +1709,31 @@ msgstr "고급 검색"
 msgid "Custom CSS"
 msgstr "사용자 정의 CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "기본값 사용"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr ""
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "저장"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "디자인 저장"
 
@@ -1646,9 +1778,9 @@ msgid "Name is required."
 msgstr "기관 이름이 필요합니다."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "실명이 너무 깁니다. (최대 255글자)"
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1678,7 +1810,7 @@ msgid "Organization is required."
 msgstr "기관 이름이 필요합니다."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "기관 이름이 너무 깁니다. (최대 255글자)"
@@ -1702,49 +1834,49 @@ msgstr ""
 msgid "Could not update application."
 msgstr "관심소식을 생성할 수 없습니다."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "%s 그룹 편집"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "그룹을 만들기 위해서는 로그인해야 합니다."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "관리자만 그룹을 편집할 수 있습니다."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "다음 양식을 이용해 그룹을 편집하십시오."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "설명이 너무 깁니다. (최대 %d 글자)"
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "별명이 너무 많습니다! 최대 %d개."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "사용할 수 없는 별명 : \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "그룹을 업데이트 할 수 없습니다."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "관심소식을 생성할 수 없습니다."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "옵션을 저장했습니다."
 
@@ -1936,6 +2068,12 @@ msgstr "취소 할 대기중인 인증이 없습니다."
 msgid "That is the wrong email address."
 msgstr "옳지 않은 메신저 계정 입니다."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "메일 승인을 삭제 할 수 없습니다."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2013,7 +2151,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s 님의 좋아하는 글"
@@ -2115,19 +2253,23 @@ msgstr "이 사이트의 이용자에 대해 권한정지 할 수 없습니다."
 msgid "User already has this role."
 msgstr "이용자가 프로필을 가지고 있지 않습니다."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "프로필을 지정하지 않았습니다."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "해당 ID의 프로필이 없습니다."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 #, fuzzy
 msgid "No group specified."
@@ -2193,8 +2335,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "디자인을 수정할 수 없습니다."
 
@@ -2213,6 +2357,14 @@ msgid ""
 msgstr ""
 "사이트의 배경 이미지를 업로드할 수 있습니다. 최대 파일 크기는 %1$s 입니다."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "올리기"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "자르기"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "이미지에서 로고로 사용할 사각 영역을 지정하세요."
@@ -2346,15 +2498,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "그룹 이용자는 차단해제"
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "차단 제거 에러!"
 
@@ -2442,7 +2597,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Jabber/GTalk 계정을 위한 MicroID의 생성"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "설정이 저장되었습니다."
 
@@ -2564,10 +2719,9 @@ msgstr[0] "당신은 다음 사용자를 이미 구독하고 있습니다."
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2741,8 +2895,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "위치가 너무 깁니다. (최대 255글자)"
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2917,28 +3072,20 @@ msgstr "응용 프로그램 수정을 위해서는 로그인해야 합니다."
 msgid "Use this form to register a new application."
 msgstr "새 그룹을 만들기 위해 이 양식을 사용하세요."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "실명이 너무 깁니다. (최대 255글자)"
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "소스 URL이 필요합니다."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "기관 이름이 너무 깁니다. (최대 255글자)"
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "관심소식을 생성할 수 없습니다."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "새로운 그룹"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "새 그룹을 만들기 위해 이 양식을 사용하세요."
@@ -2948,14 +3095,14 @@ msgid "New message"
 msgstr "새로운 메시지입니다."
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "당신은 이 사용자에게 메시지를 보낼 수 없습니다."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "내용이 없습니다!"
 
@@ -2964,7 +3111,7 @@ msgid "No recipient specified."
 msgstr "수신자를 지정하지 않았습니다."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2976,12 +3123,12 @@ msgstr "쪽지가 전송되었습니다."
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "%s에게 보낸 직접 메시지"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax 에러입니다."
 
@@ -2989,17 +3136,7 @@ msgstr "Ajax 에러입니다."
 msgid "New notice"
 msgstr "새로운 통지"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "너무 깁니다. 통지의 최대 길이는 %d 글자 입니다."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "소식의 최대 길이는 첨부 URL을 포함하여 %d 글자입니다."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "게시글이 등록되었습니다."
 
@@ -3133,25 +3270,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "이용자가 프로필을 가지고 있지 않습니다."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s의 상태 (%2$s에서)"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "연결"
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "지원하는 형식의 데이터가 아닙니다."
@@ -3164,36 +3301,46 @@ msgstr "사람 찾기"
 msgid "Notice Search"
 msgstr "통지 검색"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "아바타 설정"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "여러가지 기타 옵션을 관리합니다."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (무료 서비스)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "URL 줄이기 기능"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "사용할 URL 자동 줄이기 서비스."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "프로필 디자인 보기"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "프로필 디자인 보이거나 감춥니다."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL 줄이기 서비스 너무 깁니다. (최대 50글자)"
 
 #: actions/otp.php:69
@@ -3632,8 +3779,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64자 사이에 영소문자, 숫자로만 씁니다. 기호나 공백을 쓰면 안 됩니다."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "실명"
@@ -3672,9 +3820,10 @@ msgid "Bio"
 msgstr "자기소개"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "위치"
@@ -4001,7 +4150,8 @@ msgid "Unexpected password reset."
 msgstr "잘못된 비밀 번호 지정"
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "비밀 번호는 6자 이상이어야 합니다."
 
 #: actions/recoverpassword.php:369
@@ -4244,7 +4394,7 @@ msgid "Repeated!"
 msgstr "재전송됨!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "%s에 답신"
@@ -4371,11 +4521,12 @@ msgstr "기관 이름이 필요합니다."
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "설명"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "통계"
@@ -4393,6 +4544,11 @@ msgstr "인증 코드가 없습니다."
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "삭제"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "인증 코드가 없습니다."
@@ -4478,77 +4634,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "좋아하는 글을 지정하면 자기가 무엇을 좋아하는지 알릴 수 있습니다."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s 그룹"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "그룹, %d페이지"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "그룹 프로필"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "설명"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "그룹 행동"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "%s 그룹을 위한 공지피드 (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "%s 그룹을 위한 공지피드 (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "%s 그룹을 위한 공지피드 (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "%s의 보낸쪽지함"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "회원"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(없음)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "모든 회원"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "생성됨"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "회원"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4558,7 +4743,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4569,25 +4757,32 @@ msgstr ""
 "**%s** 는 %%%%site.name%%%% [마이크로블로깅)(http://en.wikipedia.org/wiki/"
 "Micro-blogging)의 사용자 그룹입니다. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 #, fuzzy
 msgid "Admins"
 msgstr "관리자"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "그러한 메시지가 없습니다."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "오직 발송자가 수신자가 이 메시지를 읽는것이 좋습니다."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "%2$s에서 %1$s까지 메시지"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "%1$s에서 %2$s까지 메시지"
@@ -4597,47 +4792,67 @@ msgstr "%1$s에서 %2$s까지 메시지"
 msgid "Notice deleted."
 msgstr "게시글이 등록되었습니다."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s"
+msgstr "%s 및 친구들, %d 페이지"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "%s 태그된 통지"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%s 및 친구들, %d 페이지"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "%s 그룹을 위한 공지피드 (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "%s 그룹을 위한 공지피드 (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "%s 그룹을 위한 공지피드 (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "%s 그룹을 위한 공지피드 (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "%s의 보낸쪽지함"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, fuzzy, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "%s 및 친구들의 타임라인이지만, 아직 아무도 글을 작성하지 않았습니다."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4645,14 +4860,18 @@ msgstr ""
 "최근에 재미있는 일들이 있었나요? 아직 올린 글이 없느데, 지금 시작해 보면 어떨"
 "까요. :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4661,7 +4880,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4671,7 +4892,8 @@ msgstr ""
 "**%s**는 %%%%site.name%%%% [마이크로블로깅](http://en.wikipedia.org/wiki/"
 "Micro-blogging) 서비스에 계정을 갖고 있습니다."
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "%s에 답신"
@@ -4784,33 +5006,40 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "사이트 공지 사항"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "새로운 메시지입니다."
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "디자인 설정을 저장할 수 없습니다."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "사이트 공지"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "사이트 공지"
@@ -5029,12 +5258,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "접근 설정을 저장"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "당신은 이 프로필에 구독되지 않고있습니다."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "구독을 저장할 수 없습니다."
 
@@ -5263,79 +5494,96 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "사용자"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "프로필"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "새 사용자"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "실명이 너무 깁니다. (최대 255글자)"
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "모든 예약 구독"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr "나에게 구독하는 사람에게 자동 구독 신청"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 #, fuzzy
 msgid "Invitations"
 msgstr "초대권을 보냈습니다"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 #, fuzzy
 msgid "Invitations enabled"
 msgstr "초대권을 보냈습니다"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5444,11 +5692,13 @@ msgstr "아바타 URL '%s'을(를) 읽어낼 수 없습니다."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "%S 잘못된 그림 파일 타입입니다. "
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "프로필 디자인"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5545,7 +5795,7 @@ msgid "Plugins"
 msgstr "플러그인"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "버전"
 
@@ -5578,29 +5828,35 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 #, fuzzy
 msgid "Invalid filename."
 msgstr "옳지 않은 크기"
@@ -5735,40 +5991,47 @@ msgid "Problem saving notice."
 msgstr "통지를 저장하는데 문제가 발생했습니다."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "통지를 저장하는데 문제가 발생했습니다."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5840,32 +6103,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "%s에 답신"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "새 그룹을 만들 수 없습니다."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "새 그룹을 만들 수 없습니다."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "그룹 맴버십을 세팅할 수 없습니다."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "새 그룹을 만들 수 없습니다."
 
@@ -5916,195 +6179,202 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "제목없는 페이지"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "주 사이트 네비게이션"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "개인 프로필과 친구 타임라인"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "개인"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "당신의 메일, 아바타, 비밀 번호, 프로필을 변경하세요."
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "계정"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "연결"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "연결"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "메일 주소 확인"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "관리"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, fuzzy, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "%s에 친구를 가입시키기 위해 친구와 동료를 초대합니다."
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "초대"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "이 사이트에서 로그아웃"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "로그아웃"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "새 계정 만들기"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "등록"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "이 사이트에 로그인"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "로그인"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "도움말"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "도움말"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "사람이나 단어 검색"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "검색"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "사이트 공지"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "로컬 뷰"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "페이지 공지"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "보조 사이트 네비게이션"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "도움말"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "정보"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "자주 묻는 질문"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "서비스 약관"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "개인정보 취급방침"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "소스 코드"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "연락하기"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "배지"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet 소프트웨어 라이선스"
 
@@ -6112,7 +6382,7 @@ msgstr "StatusNet 소프트웨어 라이선스"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6122,7 +6392,7 @@ msgstr ""
 "공하는 마이크로블로깅서비스입니다."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** 는 마이크로블로깅서비스입니다."
@@ -6131,7 +6401,7 @@ msgstr "**%%site.name%%** 는 마이크로블로깅서비스입니다."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6143,51 +6413,51 @@ msgstr ""
 "fsf.org/licensing/licenses/agpl-3.0.html) 라이선스에 따라 사용할 수 있습니다."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "사이트 컨텐츠 라이선스"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "%1$s의 컨텐츠와 데이터는 외부 유출을 금지합니다."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "컨텐츠와 데이터의 저작권은 %1$s의 소유입니다. All rights reserved."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "컨텐츠와 데이터의 저작권은 각 이용자의 소유입니다. All rights reserved."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "%1$s의 모든 컨텐츠와 데이터는 %2$s 라이선스에 따라 이용할 수 있습니다."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "페이지수"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "뒷 페이지"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "앞 페이지"
 
@@ -6269,7 +6539,7 @@ msgid "User configuration"
 msgstr "메일 주소 확인"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "사용자"
 
@@ -6536,7 +6806,7 @@ msgid "AJAX error"
 msgstr "Ajax 에러입니다."
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "실행 완료"
 
@@ -6553,7 +6823,7 @@ msgstr "해당 id의 프로필이 없습니다."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "이용자의 지속적인 게시글이 없습니다."
@@ -6620,6 +6890,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6657,129 +6935,131 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "직접 메시지 보내기 오류."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "게시글이 등록되었습니다."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "사용자 세팅 오류"
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "이 게시글에 대해 답장하기"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "사용자 세팅 오류"
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "구독하려는 사용자의 이름을 지정하십시오."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "당신은 이 프로필에 구독되지 않고있습니다."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "구독을 해제하려는 사용자의 이름을 지정하십시오."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "명령이 아직 실행되지 않았습니다."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "알림끄기."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "알림을 끌 수 없습니다."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "알림이 켜졌습니다."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "알림을 켤 수 없습니다."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "당신은 이 프로필에 구독되지 않고있습니다."
@@ -6787,14 +7067,14 @@ msgstr "당신은 이 프로필에 구독되지 않고있습니다."
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "당신은 다음 사용자를 이미 구독하고 있습니다."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "다른 사람을 구독 하실 수 없습니다."
@@ -6802,14 +7082,14 @@ msgstr "다른 사람을 구독 하실 수 없습니다."
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "다른 사람을 구독 하실 수 없습니다."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 #, fuzzy
 msgid "You are not a member of any groups."
 msgstr "당신은 해당 그룹의 멤버가 아닙니다."
@@ -6817,13 +7097,13 @@ msgstr "당신은 해당 그룹의 멤버가 아닙니다."
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "당신은 해당 그룹의 멤버가 아닙니다."
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6929,25 +7209,41 @@ msgstr "응용프로그램 삭제"
 msgid "Database error"
 msgstr "데이터베이스 오류"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "실행 실패"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "개인 아바타를 올릴 수 있습니다. 최대 파일 크기는 2MB입니다."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"현재 설정으로 인해 너무 많은 POST 데이터(%s 바이트)는 서버에서 처리할 수 없습"
-"니다."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "켜기"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "끄기"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "초기화"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 #, fuzzy
 msgid "Design defaults restored."
 msgstr "메일 설정이 저장되었습니다."
@@ -6976,7 +7272,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7015,7 +7312,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64자 사이에 영소문자, 숫자로만 씁니다. 기호나 공백을 쓰면 안 됩니다."
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "그룹 혹은 토픽의 홈페이지나 블로그 URL"
 
 #: lib/groupeditform.php:168
@@ -7024,18 +7322,25 @@ msgstr "응용프로그램 삭제"
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "140글자로 그룹이나 토픽 설명하기"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "140글자로 그룹이나 토픽 설명하기"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "그룹의 위치, \"시/군/구, 도, 국가\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7135,39 +7440,54 @@ msgstr "이 페이지는 귀하가 승인한 미디어 타입에서는 이용할
 msgid "Unsupported image file format."
 msgstr "지원하지 않는 그림 파일 형식입니다."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "당신그룹의 로고 이미지를 업로드할 수 있습니다."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "불완전한 업로드."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "파일을 올리는데 시스템 오류 발생"
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "그림 파일이 아니거나 손상된 파일 입니다."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "파일을 잃어버렸습니다."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "알 수 없는 종류의 파일입니다"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7365,7 +7685,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "누군가 내 글을 좋아하는 게시글로 추가했을 때, 메일을 보냅니다."
@@ -7375,7 +7695,7 @@ msgstr "누군가 내 글을 좋아하는 게시글로 추가했을 때, 메일
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7397,7 +7717,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7407,7 +7727,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "누군가 내 글을 좋아하는 게시글로 추가했을 때, 메일을 보냅니다."
@@ -7418,7 +7738,7 @@ msgstr "누군가 내 글을 좋아하는 게시글로 추가했을 때, 메일
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7475,7 +7795,7 @@ msgstr "죄송합니다. 귀하의 이메일이 아닙니다."
 msgid "Sorry, no incoming email allowed."
 msgstr "죄송합니다. 이메일이 허용되지 않습니다."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "지원하지 않는 그림 파일 형식입니다."
@@ -7538,7 +7858,7 @@ msgstr "소스 이용자를 확인할 수 없습니다."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7547,7 +7867,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7687,31 +8007,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "예약 구독을 추가 할 수 없습니다."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "개인"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "답신"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "좋아하는 글들"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "받은 쪽지함"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "받은 메시지"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "보낸 쪽지함"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "보낸 메시지"
 
@@ -7823,16 +8143,17 @@ msgid "Sandbox this user"
 msgstr "이 사용자를 차단해제합니다."
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "검색 도움말"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "검색어"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7914,6 +8235,12 @@ msgstr ""
 msgid "None"
 msgstr "없음"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "옳지 않은 크기"
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7923,8 +8250,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "아바타 업데이트 실패"
@@ -7935,29 +8262,31 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "차단 제거 에러!"
 
@@ -7965,6 +8294,13 @@ msgstr "차단 제거 에러!"
 msgid "Top posters"
 msgstr "상위 게시글 등록자"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "차단해제"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8128,17 +8464,21 @@ msgid "Message too long. Maximum is %1$d character, you sent %2$d."
 msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "프로필을 지정하지 않았습니다."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
index fde84118d4dbbae52f6a84802b757e65b179d4b2..6182db1ecb5e5cc5a4ce46d6fdb6563009b35e9f 100644 (file)
@@ -10,17 +10,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:21+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:32+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,15 +79,22 @@ msgstr "Зачувај нагодувања на пристап"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Зачувај"
@@ -118,6 +125,7 @@ msgstr "Нема таква страница."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -130,14 +138,14 @@ msgstr "Нема таква страница."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Нема таков корисник."
@@ -154,7 +162,7 @@ msgstr "%1$s и пријателите, стр. %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s и пријатели"
@@ -209,7 +217,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -309,11 +319,12 @@ msgstr "Не можев да го подновам корисникот."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -326,11 +337,13 @@ msgstr "Не може да се зачува профил."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -509,43 +522,53 @@ msgstr "Не можев да го утврдам целниот корисник
 msgid "Could not find target user."
 msgstr "Не можев да го пронајдам целниот корисник."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Прекарот мора да има само мали букви и бројки и да нема празни места."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Тој прекар е во употреба. Одберете друг."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Неправилен прекар."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Главната страница не е важечка URL-адреса."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "Полното име е предолго (највеќе 255 знаци)."
@@ -553,10 +576,14 @@ msgstr "Полното име е предолго (највеќе 255 знаци
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -564,16 +591,23 @@ msgstr[0] "Описот е предолг (дозволено е највеќе
 msgstr[1] "Описот е предолг (дозволено е највеќе %d знаци)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "Местоположбата е предолга (највеќе 255 знаци)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -589,15 +623,19 @@ msgstr "Неважечки алијас: „%s“."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Алијасот „%s“ е зафатен. Одберете друг."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Алијасот не може да биде ист како прекарот."
 
@@ -700,21 +738,21 @@ msgid "Request token already authorized."
 msgstr "Жетонот за барање е веќе овластен."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Се поајви проблем со Вашиот сесиски жетон. Обидете се повторно."
 
@@ -729,17 +767,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Грешка во базата при вметнувањето на auth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Неочекувано поднесување на образец."
 
@@ -788,9 +828,10 @@ msgstr "Сметка"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -884,20 +925,21 @@ msgstr "Не можете да избришете статус на друг к
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Нема таква забелешка."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Не можете да ја повторувате сопствената забелешка."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Забелешката е веќе повторена."
 
@@ -918,7 +960,8 @@ msgstr "Клиентот мора да укаже вредност за пара
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -932,7 +975,7 @@ msgstr "Матичната забелешка не е пронајдена."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1040,31 +1083,42 @@ msgstr "API-методот е во изработка."
 msgid "User not found."
 msgstr "Корисникот не е пронајден."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Нема таков прилог."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Нема прекар."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Нема големина."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Погрешна големина."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Аватар"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
@@ -1072,74 +1126,95 @@ msgstr ""
 "Можете да подигнете свој личен аватар. Максималната дозволена големина на "
 "податотеката изнесува %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Корисник без соодветен профил."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Нагодувања на аватарот"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Оригинал"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Преглед"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
-msgstr "Ð\91риши"
+msgstr "Ð\98збриши"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Подигни"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Отсечи"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Нема подигнато податотека."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Одберете квадратна површина од сликата за аватар"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Податоците за податотеката се изгубени."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Аватарот е подновен."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Подновата на аватарот не успеа."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Аватарот е избришан."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Веќе го имате блокирано тој корисник."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Блокирај корисник"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1156,8 +1231,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1165,7 +1240,7 @@ msgstr "Не"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Не го блокирај корисников"
 
@@ -1175,8 +1250,8 @@ msgstr "Не го блокирај корисников"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1184,140 +1259,168 @@ msgstr "Да"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Блокирај го корисников"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Не можев да ги снимам инофрмациите за блокот."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Нема таква група."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s блокирани профили"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s блокирани профили, стр. %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Листана корисниците блокирани од придружување во оваа група."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Одблокирај корисник од група"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Одблокирај"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Одблокирај го овој корсник"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Објави во %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Нема потврден код."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Потврдниот код не е пронајден."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Овој потврден код не е за Вас!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Непознат тип на адреса %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Оваа адреса веќе е потврдена."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Не можев да го подновам корисникот."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Не можев да ја избришам потврдата по е-пошта."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
+msgstr "Не можев да ја избришам потврдата на адреса."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Потврди адреса"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Адресата  \"%s\" е потврдена за Вашата сметка."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Разговор"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Забелешки"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Мора да сте најавени за да можете да избришете програм."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Програмот не е пронајден."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Не сте сопственик на овој програм."
@@ -1325,15 +1428,18 @@ msgstr "Не сте сопственик на овој програм."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Се појави проблем со Вашиот сесиски жетон."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Избриши програм"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1344,12 +1450,12 @@ msgstr ""
 "поврзувања."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Не го бриши овој програм"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Избриши го програмов"
 
@@ -1383,12 +1489,13 @@ msgstr "Не можев да ја избришам групата %s."
 msgid "Deleted group %s"
 msgstr "Групата %s е избришана"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Избриши група"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1409,22 +1516,27 @@ msgstr "Не ја бриши групава"
 msgid "Delete this group"
 msgstr "Избриши ја групава"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Не сте најавени."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Не може да се избрише оваа забелешка."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1432,21 +1544,24 @@ msgstr ""
 "На пат сте да избришете забелешка засекогаш. Откако ќе го направите тоа, "
 "постапката нема да може да се врати."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Бриши забелешка"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Дали сте сигурни дека сакате да ја избришете оваа заблешка?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Не ја бриши оваа забелешка"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Бриши ја оваа забелешка"
 
@@ -1530,12 +1645,14 @@ msgstr "Прилагоден мотив"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Можете да подигнете свој изглед за StatusNet како .ZIP архив."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Промена на слика на позадина"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Позадина"
 
@@ -1549,40 +1666,48 @@ msgstr ""
 "големина на податотеката е %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Вкл."
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Искл."
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Вклучи или исклучи позадинска слика."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Позадината во квадрати"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Промена на бои"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Содржина"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Странична лента"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Текст"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Врски"
 
@@ -1594,29 +1719,31 @@ msgstr "Напредно"
 msgid "Custom CSS"
 msgstr "Прилагодено CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Користи по основно"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Врати основно-зададени нагодувања"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Врати по основно"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Зачувај"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Зачувај изглед"
 
@@ -1660,8 +1787,8 @@ msgid "Name is required."
 msgstr "Треба име."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Името е предолго (највеќе 255 знаци)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1690,7 +1817,7 @@ msgid "Organization is required."
 msgstr "Треба организација."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Името на организацијата е предолго (највеќе 255 знаци)."
 
@@ -1713,49 +1840,49 @@ msgstr "URL-адресата за повикување е неважечка."
 msgid "Could not update application."
 msgstr "Не можев да го подновам програмот."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Уреди ја групата %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Мора да сте најавени за да можете да создавате групи."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Мора да сте администратор за да можете да ја уредите групата."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "ОБразецов служи за уредување на групата."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Описот е предолг (дозволено е највеќе %d знаци)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Премногу алијаси! Дозволено е највеќе %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Неважечки алијас: „%s“"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Не можев да ја подновам групата."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Не можеше да се создадат алијаси."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Нагодувањата се зачувани."
 
@@ -1950,6 +2077,12 @@ msgstr "Нема потврди кои може да се откажат."
 msgid "That is the wrong email address."
 msgstr "Ова е погрешна е-поштенска адреса."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Не можев да ја избришам потврдата по е-пошта."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2033,7 +2166,7 @@ msgstr ""
 "ќе бендисате забелешка!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Бендисани забелешки на %s"
@@ -2130,19 +2263,23 @@ msgstr "Не можете да им доделувате улоги на кор
 msgid "User already has this role."
 msgstr "Корисникот веќе ја има таа улога."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Нема назначено профил."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Нема профил со тоа ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Нема назначено група."
@@ -2210,8 +2347,10 @@ msgstr ""
 "Прилагодете го изгледот на Вашата група со позадинска слика и палета од бои "
 "по Ваш избор."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Не можев да го подновам Вашиот изглед."
 
@@ -2231,6 +2370,14 @@ msgstr ""
 "Можете да подигнете слика за логото на Вашата група. Максималната дозволена "
 "големина на податотеката е %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Подигни"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Отсечи"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Одберете квадратен простор на сликата за лого."
@@ -2374,15 +2521,18 @@ msgstr ""
 "А зошто самите не [регистрирате сметка](%%action.register%%) и [создадете "
 "група](%%action.newgroup%%)!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Само администратор може да одблокира членови на група."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Корисникот не е блокиран од групата."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Грешка при отстранување на блокот."
 
@@ -2471,7 +2621,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Објави MicroID за мојата адреса на Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Нагодувањата се зачувани."
 
@@ -2595,10 +2745,9 @@ msgstr[1] "Веќе сте претплатени на овие корисниц
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2782,7 +2931,7 @@ msgstr ""
 "Сите права задржани."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Неважечки наслов на лиценцата. Дозволени се највеќе 255 знаци."
 
 #: actions/licenseadminpanel.php:168
@@ -2958,26 +3107,20 @@ msgstr "Мора да сте најавени за да можете да рег
 msgid "Use this form to register a new application."
 msgstr "Овој образец служи за регистрирање на нов програм."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Името е предолго (највеќе 255 знаци)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Треба изворна URL-адреса."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Организацијата е предолга (дозволени се највеќе 255 знаци)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Не можеше да се создаде програмот."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Нова група"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Овој образец служи за создавање нова група."
@@ -2987,14 +3130,14 @@ msgid "New message"
 msgstr "Нова порака"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Не можете да испратите порака до овојо корисник."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Нема содржина!"
 
@@ -3003,7 +3146,7 @@ msgid "No recipient specified."
 msgstr "Нема назначено примач."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3016,12 +3159,12 @@ msgstr "Пораката е испратена"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Директната порака до %s е испратена."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax-грешка"
 
@@ -3029,19 +3172,7 @@ msgstr "Ajax-грешка"
 msgid "New notice"
 msgstr "Ново забелешка"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Ова е предолго. Максималната дозволена должина изнесува %d знаци."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"Максималната големина на забелешката е %d знаци, вклучувајќи ја URL-адресата "
-"на прилогот."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Забелешката е објавена"
 
@@ -3182,25 +3313,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Забелешката нема профил."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s статус на %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Содржините од типот %s не се поддржани."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Ве молиме користете само %s URL-адреси врз прост HTTP-код."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Ова не е поддржан формат на податотека."
@@ -3213,36 +3344,45 @@ msgstr "Пребарување на луѓе"
 msgid "Notice Search"
 msgstr "Пребарување на забелешки"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Други нагодувања"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Раководење со разни други можности."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
-msgstr "(бесплатна услуга)"
+msgstr " (бесплатна услуга)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Скратувај URL-адреси со"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Која автоматска служба за скратување да се користи."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Види изгледи на профилот"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Прикажи или сокриј профилни изгледи."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Услугата за скратување на URL-адреси е предолга (највеќе до 50 знаци)."
 
 #: actions/otp.php:69
@@ -3671,8 +3811,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 мали букви или бројки, без интерпукциски знаци и празни места."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Цело име"
@@ -3712,9 +3853,10 @@ msgid "Bio"
 msgstr "Биографија"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Местоположба"
@@ -4057,8 +4199,8 @@ msgid "Unexpected password reset."
 msgstr "Неочекувано подновување на лозинката."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
-msgstr "Ð\9bозинкаÑ\82а Ð¼Ð¾Ñ\80а Ð´Ð° Ð±Ð¸Ð´Ðµ Ð¾Ð´ Ð½Ð°Ñ\98малкÑ\83 6 знаци."
+msgid "Password must be 6 characters or more."
+msgstr "Ð\9bозинкаÑ\82а Ð¼Ð¾Ñ\80а Ð´Ð° Ð¸Ð¼Ð° Ð±Ð°Ñ\80ем 6 знаци."
 
 #: actions/recoverpassword.php:369
 msgid "Password and confirmation do not match."
@@ -4303,7 +4445,7 @@ msgid "Repeated!"
 msgstr "Повторено!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Одговори испратени до %s"
@@ -4436,11 +4578,12 @@ msgstr "Организација"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Опис"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Статистики"
@@ -4458,6 +4601,11 @@ msgstr "Дејства на програмот"
 msgid "Reset key & secret"
 msgstr "Клуч за промена и тајна"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Бриши"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Инфо за програмот"
@@ -4552,77 +4700,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Ова е начин да го споделите она што Ви се допаѓа."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Група %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Група %1$s, стр. %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Профил на група"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Забелешка"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Алијаси"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Групни дејства"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Канал со забелешки за групата %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Канал со забелешки за групата %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Канал со забелешки за групата%s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF за групата %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Членови"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Нема)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Сите членови"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Создадено"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Членови"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4638,7 +4813,10 @@ msgstr ""
 "се](%%%%action.register%%%%) за да станете дел од оваа група и многу повеќе! "
 "([Прочитајте повеќе](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4651,24 +4829,31 @@ msgstr ""
 "слободната програмска алатка [StatusNet](http://status.net/). Нејзините "
 "членови си разменуваат кратки пораки за нивниот живот и интереси. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Администратори"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Нема таква порака."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Само испраќачот и примачот можат да ја читаат оваа порака."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Порака за %1$s на %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Порака од %1$s на %2$s"
@@ -4677,47 +4862,67 @@ msgstr "Порака од %1$s на %2$s"
 msgid "Notice deleted."
 msgstr "Избришана забелешка"
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s го/ја означи %2$s"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
 #, php-format
-msgid " tagged %s"
-msgstr "  означено со %s"
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s го/ја означи %2$s, страница %3$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, стр. %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Канал со забелешки за %1$s означен со %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Канал со забелешки за %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Канал со забелешки за %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Канал со забелешки за %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF за %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
-msgstr "Ова е историјата за %1$s, но %2$s сè уште нема објавено ништо."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
+msgstr "Ова е хронологијата за %1$s, но %1$s сè уште нема објавено ништо."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4725,7 +4930,9 @@ msgstr ""
 "Имате видено нешто интересно во последно време? Сè уште немате објавено "
 "ниедна забелешка, но сега е добро време за да почнете :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4734,7 +4941,9 @@ msgstr ""
 "Можете да го подбуцнете корисникот %1$s или [му испратите нешто](%%%%action."
 "newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4748,7 +4957,9 @@ msgstr ""
 "register%%%%) за да можете да ги следите забелешките на **%s** и многу "
 "повеќе! ([Прочитајте повеќе](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4759,7 +4970,8 @@ msgstr ""
 "(http://mk.wikipedia.org/wiki/Микроблогирање) заснована на слободната "
 "програмска алатка [StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Повторувања на %s"
@@ -4875,33 +5087,40 @@ msgstr ""
 "Колку долго треба да почекаат корисниците (во секунди) за да можат повторно "
 "да го објават истото."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Објава на страница"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Уреди објава за цело мрежно место"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Не можам да ја зачувам објавата за мрежното место."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Објавата за цело мрежно место не треба да содржи повеќе од 255 знаци."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Текст на објавата за мрежното место"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
-"ТекÑ\81Ñ\82 Ð·Ð° Ð³Ð»Ð°Ð²Ð½Ð° Ð¾Ð±Ñ\98ава Ð¿Ð¾ Ñ\86ело Ð¼Ñ\80ежно Ð¼ÐµÑ\81Ñ\82о (наÑ\98веÑ\9cе Ð´Ð¾ 255 Ð·Ð½Ð°Ñ\86и; Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ð¾ "
-"и HTML)"
+"ТекÑ\81Ñ\82 Ð½Ð° Ð³Ð»Ð°Ð²Ð½Ð°Ñ\82а Ð¾Ð±Ñ\98ава Ð¿Ð¾ Ñ\86ело Ð¼Ñ\80ежно Ð¼ÐµÑ\81Ñ\82о (наÑ\98веÑ\9cе Ð´Ð¾ 255 Ð·Ð½Ð°Ñ\86и; "
+"дозволено Ð¸ HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Зачувај ја објавава"
 
@@ -5118,12 +5337,14 @@ msgstr "Снимките ќе се испраќаат на оваа URL-адре
 msgid "Save snapshot settings"
 msgstr "Зачувај поставки за снимки"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Не сте претплатени на тој профил."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Не можев да ја зачувам претплатата."
 
@@ -5364,75 +5585,91 @@ msgstr ""
 "мрежното место „%2$s“."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Корисник"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Кориснички нагодувања за ова StatusNet-мрежно место"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Неважечко ограничување за биографијата. Мора да е бројчено."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Неважечки текст за добредојде. Дозволени се највеќе 255 знаци."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Неважечки опис по основно: „%1$s“ не е корисник."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Профил"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Ограничување за биографијата"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Максимална големина на профилната биографија во знаци."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Нови корисници"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Добредојде за нов корисник"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Текст за добредојде на нови корисници (највеќе до 255 знаци)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Основно-зададена претплата"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Автоматски претплатувај нови корисници на овој корисник."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Покани"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Поканите се овозможени"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Дали да им е дозволено на корисниците да канат други корисници."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Зачувај кориснички нагодувања"
 
@@ -5540,11 +5777,13 @@ msgstr "Не можам да ја прочитам URL на аватарот „
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Погрешен тип на слика за URL на аватарот „%s“."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Изглед на профилот"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5644,7 +5883,7 @@ msgid "Plugins"
 msgstr "Приклучоци"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Верзија"
 
@@ -5677,32 +5916,47 @@ msgstr "Робин мисли дека нешто е невозможно."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
-"Податотеките не смеат да бидат поголеми од %d бајти, а податотеката што ја "
-"испративте содржи %d бајти. Подигнете помала верзија."
+msgstr[0] ""
+"Податотеките не смеат да бидат поголеми од %1$d бајт, а вие испративте "
+"податотека од %2$d бајти. Подигнете помала верзија."
+msgstr[1] ""
+"Податотеките не смеат да бидат поголеми од %1$d бајти, а вие испративте "
+"податотека од %2$d бајти. Подигнете помала верзија."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
-"Волку голема податотека ќе ја надмине Вашата корисничка квота од %d бајти."
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Волку голема податотека ќе го надмине Вашето корисничко следување од %d бајт."
+msgstr[1] ""
+"Волку голема податотека ќе го надмине Вашето корисничко следување од %d "
+"бајти."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "ВОлку голема податотека ќе ја надмине Вашата месечна квота од %d бајти"
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Волку голема податотека ќе го надмине Вашето месечно следување од %d бајт"
+msgstr[1] ""
+"Волку голема податотека ќе го надмине Вашето месечно следување од %d бајти"
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Погрешно податотечно име."
 
@@ -5831,32 +6085,39 @@ msgid "Problem saving notice."
 msgstr "Проблем во зачувувањето на белешката."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
-msgstr "Ð\9dа saveKnownGroups Ð¼Ñ\83 Ðµ Ñ\83акажан Ð³Ñ\80еÑ\88ен Ñ\82ип"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
+msgstr "Ð\9dа saveKnownGroups Ð¼Ñ\83 Ðµ Ñ\83кажан Ð¿Ð¾Ð³Ñ\80еÑ\88ен Ñ\82ип."
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Проблем при зачувувањето на групното приемно сандаче."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Не можев да го зачувам одговорот за %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5865,7 +6126,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5938,32 +6199,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Добредојдовте на %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Не е зададен корисник за еднокорисничкиот режим."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr "Повикан е еднокориснички режим, но не е овозможен."
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Не можев да ја создадам групата."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Не можев да поставам URI на групата."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Не можев да назначам членство во групата."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Не можев да ги зачувам информациите за локалните групи."
 
@@ -6013,194 +6274,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Страница без наслов"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "Повеќе"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Главна навигација"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Личен профил и хронологија на пријатели"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Лично"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Промена на е-пошта, аватар, лозинка, профил"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Сметка"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Поврзи се со услуги"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Поврзи се"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Промена на поставките на мрежното место"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Админ"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Поканете пријатели и колеги да Ви се придружат на %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Покани"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Одјава"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Одјава"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Создај сметка"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Регистрација"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Најава"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Најава"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Напомош!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Помош"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Пребарајте луѓе или текст"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Барај"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Напомена за мрежното место"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Локални прегледи"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Напомена за страницата"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Споредна навигација"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Помош"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "За"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "ЧПП"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Услови"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Приватност"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Изворен код"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Контакт"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Значка"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Лиценца на програмот StatusNet"
 
@@ -6208,7 +6476,7 @@ msgstr "Лиценца на програмот StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6218,7 +6486,7 @@ msgstr ""
 "%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** е сервис за микроблогирање."
@@ -6227,7 +6495,7 @@ msgstr "**%%site.name%%** е сервис за микроблогирање."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6239,20 +6507,20 @@ msgstr ""
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Лиценца на содржините на мрежното место"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Содржината и податоците на %1$s се лични и доверливи."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6260,7 +6528,7 @@ msgstr ""
 "права задржани."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Авторските права на содржината и податоците им припаѓаат на учесниците. Сите "
@@ -6268,25 +6536,25 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Сите содржини и податоци на %1$s се достапни под лиценцата %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Прелом на страници"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Следно"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Претходно"
 
@@ -6365,7 +6633,7 @@ msgid "User configuration"
 msgstr "Кориснички поставки"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Корисник"
 
@@ -6631,7 +6899,7 @@ msgid "AJAX error"
 msgstr "Ajax-грешка"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Наредбата е завршена"
 
@@ -6647,7 +6915,7 @@ msgstr "Не постои забелешка со таков id."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Корисникот нема последна забелешка"
 
@@ -6716,6 +6984,14 @@ msgstr "%1$s се зачлени во групата %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s ја напушти групата %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6755,136 +7031,143 @@ msgstr ""
 "%s е далечински профил; можете да праќате директни пораки само до корисници "
 "на истиот опслужувач."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Пораката е предолга - дозволени се највеќе %1$d знаци, а вие испративте %2$d."
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Пораката е предолга - дозволен е највеќе %1$d знак, а Вие испративте %2$d."
+msgstr[1] ""
+"Пораката е предолга - дозволени се највеќе %1$d знаци, а Вие испративте %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Грашка при испаќањето на директната порака."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Забелешката од %s е повторена."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Грешка при повторувањето на белешката."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Забелешката е предолга - треба да нема повеќе од %1$d знак, а Вие испративте "
+"%2$d."
+msgstr[1] ""
 "Забелешката е предолга - треба да нема повеќе од %1$d знаци, а Вие "
 "испративте %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Одговорот на %s е испратен."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Грешка при зачувувањето на белешката."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Назначете го името на корисникот на којшто сакате да се претплатите."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Не можете да се претплаќате на OMB профили по наредба."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Претплатено на %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Назначете го името на корисникот од кого откажувате претплата."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Откажана претплата на %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Наредбата сè уште не е имплементирана."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Известувањето е исклучено."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Не можам да исклучам известување."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Известувањето е вклучено."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Не можам да вклучам известување."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Наредбата за најава е оневозможена."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "Оваа врска може да се употреби само еднаш, и трае само 2 минути: %s"
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Откажана претплата на %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Не сте претплатени никому."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Не ни го испративте тој профил."
@@ -6892,14 +7175,14 @@ msgstr[1] "Не ни го испративте тој профил."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Никој не е претплатен на Вас."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Оддалечена претплата"
@@ -6907,21 +7190,21 @@ msgstr[1] "Оддалечена претплата"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Не членувате во ниедна група."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Не ни го испративте тој профил."
 msgstr[1] "Не ни го испративте тој профил."
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7062,10 +7345,13 @@ msgstr "Овластени поврзани програми"
 msgid "Database error"
 msgstr "Грешка во базата на податоци"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Подигни податотека"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7073,16 +7359,26 @@ msgstr ""
 "Можете да подигнете лична позадинска слика. Максималната дозволена големина "
 "изнесува 2МБ."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Опслужувачот не можеше да обработи толку многу POST-податоци (%s бајти) "
-"заради неговата тековна поставеност."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr "Вкл."
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Искл."
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Врати одново"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Основно-зададениот изглед е вратен."
 
@@ -7110,7 +7406,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Канали"
 
@@ -7148,7 +7445,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 мали букви или бројки. Без интерпукциски знаци и празни места."
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL на страницата или блогот на групата или темата"
 
 #: lib/groupeditform.php:168
@@ -7157,18 +7454,29 @@ msgstr "Опишете ја групата или темата"
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Опишете ја групата или темата со %d знаци"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Опишете ја групата или темата со највеќе %d знак"
+msgstr[1] "Опишете ја групата или темата со највеќе %d знаци"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "Местоположба на групата (ако има). На пр. „Град, Сој. држава, Земја“"
+"Location for the group, if any, like \"City, State (or Region), Country\"."
+msgstr ""
+"Местоположба на групата (ако има). На пр. „Град, Сој. држава/област, Земја“"
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Дополнителни прекари за групата, одделени со запирка или празно место, "
+"највеќе до %d"
+msgstr[1] ""
 "Дополнителни прекари за групата, одделени со запирка или празно место, "
 "највеќе до %d"
 
@@ -7270,39 +7578,57 @@ msgstr "Оваа страница не е достапна во форматот
 msgid "Unsupported image file format."
 msgstr "Неподдржан фомрат на слики."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Ова е предолго. Максималната должина е 140 знаци."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Делумно подигање."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Системска грешка при подигањето на податотеката."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Не е слика или податотеката е пореметена."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Податотеката е изгубена."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Непознат тип на податотека"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "МБ"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "%d МБ"
+msgstr[1] "%d МБ"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "кб"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "%d кБ"
+msgstr[1] "%d кБ"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] "%d Б"
+msgstr[1] "%d Б"
 
 #: lib/jabber.php:387
 #, php-format
@@ -7554,7 +7880,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) ја бендиса вашата забелешка"
@@ -7564,7 +7890,7 @@ msgstr "%1$s (@%2$s) ја бендиса вашата забелешка"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7602,7 +7928,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7615,7 +7941,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%1$s (@%2$s) Ви испрати забелешка што сака да ја прочитате"
@@ -7626,7 +7952,7 @@ msgstr "%1$s (@%2$s) Ви испрати забелешка што сака да
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7709,7 +8035,7 @@ msgstr "Жалиме, но тоа не е Вашата приемна е-пош
 msgid "Sorry, no incoming email allowed."
 msgstr "Жалиме, приемната пошта не е дозволена."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Неподдржан формат на порака: %s"
@@ -7777,7 +8103,7 @@ msgstr "Не можев да го утврдам mime-типот на подат
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7788,7 +8114,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "„%s„ не е поддржан податотечен тип на овој опслужувач."
@@ -7929,31 +8255,31 @@ msgstr "Дуплирана забелешка."
 msgid "Couldn't insert new subscription."
 msgstr "Не може да се внесе нова претплата."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Личен"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Одговори"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Бендисани"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Примени"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Ваши приемни пораки"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "За праќање"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Ваши испратени пораки"
 
@@ -8059,16 +8385,17 @@ msgid "Sandbox this user"
 msgstr "Стави го корисников во песочен режим"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Пребарај по мрежното место"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Клучен збор"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8149,6 +8476,11 @@ msgstr "Облак од ознаки за луѓе"
 msgid "None"
 msgstr "Без ознаки"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+msgid "Invalid theme name."
+msgstr "Неважечко име за изгледот."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8159,8 +8491,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Податотеката за изгледот недостасува или подигањето не успеало."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Зачувувањето на мотивот не успеа."
 
@@ -8170,15 +8502,19 @@ msgstr "Неважечки изглед: лош состав на папката
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
-"Подигнатиот изглед е преголем; мора да биде помал од %d бајти (незбиен)."
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Подигнатиот изглед е преголем; мора да биде помал од %d бајт (ненабиен)."
+msgstr[1] ""
+"Подигнатиот изглед е преголем; мора да биде помал од %d бајти (ненабиен)."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Неважечки архив за изглеедот: недостасува податотеката css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8186,16 +8522,16 @@ msgstr ""
 "Изгледот содржи неважечки назив на податотека или папка. Дозволени се само "
 "ASCII-букви, бројки, долна црта и знак за минус."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Овој изглед содржи небезбедни податотечни наставки."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Изгледот содржи податотека од типот „.%s“, која не е дозволена."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Грешка при отворањето на архивот за мотив."
 
@@ -8203,6 +8539,12 @@ msgstr "Грешка при отворањето на архивот за мот
 msgid "Top posters"
 msgstr "Најактивни објавувачи"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Одблокирај"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Извади од песочен режим"
@@ -8372,16 +8714,21 @@ msgstr[0] ""
 msgstr[1] ""
 "Пораката е предолга - дозволени се највеќе %1$d знаци, а вие испративте %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "РезеÑ\80вна Ð¿Ð¾Ð´Ð°Ñ\82оÑ\82ека Ð·Ð° ÐºÐ¾Ñ\80иÑ\81никоÑ\82 %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr "Ð\97емам Ñ\80езеÑ\80ва Ð½Ð° Ð¿Ð¾Ð´Ð°Ñ\82оÑ\82екаÑ\82а â\80\9e%sâ\80\9c."
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Нема назначено корисник. Ќе го употребам резервниот корисник."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr "%d резервни ставки."
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d резервна ставка."
+msgstr[1] "%d резервни ставки."
index 267d4bdee0030df0c18433ff3eb978ca3abb3ad6..75c07548719e5ea71d94eec0ea9c63008d781818 100644 (file)
@@ -10,17 +10,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:25+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:37+0000\n"
 "Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: no\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -77,15 +77,22 @@ msgstr "Lagre tilgangsinnstillinger"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Lagre"
@@ -116,6 +123,7 @@ msgstr "Ingen slik side."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -128,14 +136,14 @@ msgstr "Ingen slik side."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Ingen slik bruker."
@@ -152,7 +160,7 @@ msgstr "%1$s og venner, side %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s og venner"
@@ -206,7 +214,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -306,11 +316,12 @@ msgstr "Klarte ikke å oppdatere bruker."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -324,12 +335,14 @@ msgstr "Klarte ikke å lagre profil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
-#, fuzzy, php-format
+#: lib/designsettings.php:298
+#, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
 "current configuration."
@@ -337,11 +350,11 @@ msgid_plural ""
 "The server was unable to handle that much POST data (%s bytes) due to its "
 "current configuration."
 msgstr[0] ""
-"Tjeneren kunne ikke håndtere så mye POST-data (%s bytes) på grunn av sitt "
-"nåværende oppsett."
+"Tjeneren kunne ikke håndtere så mye POST-data (%s byte) på grunn av sin "
+"gjeldende konfigurasjon."
 msgstr[1] ""
-"Tjeneren kunne ikke håndtere så mye POST-data (%s bytes) på grunn av sitt "
-"nåværende oppsett."
+"Tjeneren kunne ikke håndtere så mye POST-data (%s bytes) på grunn av sin "
+"gjeldende konfigurasjon."
 
 #. TRANS: Client error displayed when saving design settings fails because of an empty id.
 #. TRANS: Client error displayed when saving design settings fails because of an empty result.
@@ -414,7 +427,7 @@ msgstr "Ingen meldingstekst!"
 #. TRANS: Form validation error displayed when message content is too long.
 #. TRANS: %d is the maximum number of characters for a message.
 #: actions/apidirectmessagenew.php:127 actions/newmessage.php:152
-#, fuzzy, php-format
+#, php-format
 msgid "That's too long. Maximum message size is %d character."
 msgid_plural "That's too long. Maximum message size is %d characters."
 msgstr[0] "Dette er for langt. Meldingen kan bare være %d tegn lang."
@@ -432,7 +445,6 @@ msgstr "Kan ikke sende direktemeldinger til brukere du ikke er venn med."
 
 #. TRANS: Client error displayed trying to direct message self (403).
 #: actions/apidirectmessagenew.php:154
-#, fuzzy
 msgid ""
 "Do not send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -504,78 +516,97 @@ msgstr "Kunne ikke bestemme kildebruker."
 msgid "Could not find target user."
 msgstr "Kunne ikke finne målbruker."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Kallenavn kan kun ha små bokstaver og tall og ingen mellomrom."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Det nicket er allerede i bruk. Prøv et annet."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Ugyldig nick."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Hjemmesiden er ikke en gyldig URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
-#, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
-msgstr "Beklager, navnet er for langt (max 250 tegn)."
+msgstr "Fullt navn er for langt (maks 255 tegn)."
 
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
-#, fuzzy, php-format
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
+#, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "Beskrivelsen er for lang (maks %d tegn)."
 msgstr[1] "Beskrivelsen er for lang (maks %d tegn)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
-#, fuzzy
 msgid "Location is too long (maximum 255 characters)."
-msgstr "Plassering er for lang (maks 255 tegn)."
+msgstr "Plasseringen er for lang (maks 255 tegn)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
-#, fuzzy, php-format
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
+#, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
-msgstr[0] "For mange alias! Maksimum %d."
-msgstr[1] "For mange alias! Maksimum %d."
+msgstr[0] "For mange alias. Maks %d er tillatt."
+msgstr[1] "For mange alias. Maks %d er tillatt."
 
 #. TRANS: Client error shown when providing an invalid alias during group creation.
 #. TRANS: %s is the invalid alias.
@@ -586,15 +617,19 @@ msgstr "Ugyldig alias: «%s»."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Aliaset «%s» er allerede i bruk. Prøv et annet."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias kan ikke være det samme som kallenavn."
 
@@ -700,21 +735,21 @@ msgid "Request token already authorized."
 msgstr "Du er ikke autorisert."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Det var et problem med din sesjons-autentisering. Prøv igjen."
 
@@ -725,22 +760,23 @@ msgstr "Ugyldig kallenavn / passord!"
 
 #. TRANS: Server error displayed when a database action fails.
 #: actions/apioauthauthorize.php:217
-#, fuzzy
 msgid "Database error inserting oauth_token_association."
-msgstr "Databasefeil ved innsetting av bruker i programmet OAuth."
+msgstr "Databasefeil ved innsetting av oauth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Uventet skjemainnsending."
 
@@ -757,15 +793,15 @@ msgstr "Tillat eller nekt tilgang"
 #. TRANS: User notification of external application requesting account access.
 #. TRANS: %3$s is the access type requested, %4$s is the StatusNet sitename.
 #: actions/apioauthauthorize.php:425
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "An application would like the ability to <strong>%3$s</strong> your %4$s "
 "account data. You should only give access to your %4$s account to third "
 "parties you trust."
 msgstr ""
-"Programmet <strong>%1$s</strong> av <strong>%2$s</strong> ønsker å kunne "
-"<strong>%3$s</strong> dine %4$s-kontodata. Du bør bare gi tilgang til din %4"
-"$s-konto til tredjeparter du stoler på."
+"Et program ønsker muligheten til å <strong>%3$s</strong> dine %4$s-"
+"kontodata. Du bør kun gi tilgang til din %4$s-konto til tredjeparter du "
+"stoler på."
 
 #. TRANS: User notification of external application requesting account access.
 #. TRANS: %1$s is the application name requesting access, %2$s is the organisation behind the application,
@@ -783,16 +819,16 @@ msgstr ""
 
 #. TRANS: Fieldset legend.
 #: actions/apioauthauthorize.php:455
-#, fuzzy
 msgctxt "LEGEND"
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -820,22 +856,19 @@ msgstr "Avbryt"
 
 #. TRANS: Button text that when clicked will allow access to an account by an external application.
 #: actions/apioauthauthorize.php:485
-#, fuzzy
 msgctxt "BUTTON"
 msgid "Allow"
 msgstr "Tillat"
 
 #. TRANS: Form instructions.
 #: actions/apioauthauthorize.php:502
-#, fuzzy
 msgid "Authorize access to your account information."
-msgstr "Tillat eller nekt tilgang til din kontoinformasjon."
+msgstr "Autoriser tilgang til din kontoinformasjon."
 
 #. TRANS: Header for user notification after revoking OAuth access to an application.
 #: actions/apioauthauthorize.php:594
-#, fuzzy
 msgid "Authorization canceled."
-msgstr "Direktemeldingsbekreftelse avbrutt."
+msgstr "Autorisasjon kansellert."
 
 #. TRANS: User notification after revoking OAuth access to an application.
 #. TRANS: %s is an OAuth token.
@@ -846,9 +879,8 @@ msgstr ""
 
 #. TRANS: Title of the page notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:621
-#, fuzzy
 msgid "You have successfully authorized the application"
-msgstr "Du er ikke autorisert."
+msgstr "Du har autorisert programmet"
 
 #. TRANS: Message notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:625
@@ -856,13 +888,15 @@ msgid ""
 "Please return to the application and enter the following security code to "
 "complete the process."
 msgstr ""
+"Gå tilbake til programmet og skriv inn følgende sikkerhetskode for å "
+"fullføre prosessen."
 
 #. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
 #: actions/apioauthauthorize.php:632
-#, fuzzy, php-format
+#, php-format
 msgid "You have successfully authorized %s"
-msgstr "Du er ikke autorisert."
+msgstr "Du har autorisert %s"
 
 #. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
@@ -872,6 +906,8 @@ msgid ""
 "Please return to %s and enter the following security code to complete the "
 "process."
 msgstr ""
+"Gå tilbake til %s og skriv inn følgende sikkerhetskode for å fullføre "
+"prosessen."
 
 #. TRANS: Client error displayed trying to delete a status not using POST or DELETE.
 #. TRANS: POST and DELETE should not be translated.
@@ -886,20 +922,21 @@ msgstr "Du kan ikke slette statusen til en annen bruker."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Ingen slik notis."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Kan ikke gjenta din egen notis."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Allerede gjentatt den notisen."
 
@@ -916,12 +953,13 @@ msgstr "Ingen status med den ID-en funnet."
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #: actions/apistatusesupdate.php:221
 msgid "Client must provide a 'status' parameter with a value."
-msgstr ""
+msgstr "Klienten må angi en 'status'-parameter med en verdi."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
-#, fuzzy, php-format
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
+#, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
 msgstr[0] "Det er for langt. Maks notisstørrelse er %d tegn."
@@ -929,14 +967,13 @@ msgstr[1] "Det er for langt. Maks notisstørrelse er %d tegn."
 
 #. TRANS: Client error displayed when replying to a non-existing notice.
 #: actions/apistatusesupdate.php:284
-#, fuzzy
 msgid "Parent notice not found."
-msgstr "API-metode ikke funnet!"
+msgstr "Foreldrenotis ikke funnet."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
-#, fuzzy, php-format
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
+#, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
 msgstr[0] "Maks notisstørrelse er %d tegn, inklusive vedleggs-URL."
@@ -959,16 +996,16 @@ msgstr "%1$s / Favoritter fra %2$s"
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user's full name,
 #. TRANS: %3$s is a user nickname.
 #: actions/apitimelinefavorites.php:120
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s updates favorited by %2$s / %3$s."
-msgstr "%1$s oppdateringer markert som favoritt av %2$s / %2$s."
+msgstr "%1$s-oppdateringer markert som favoritt av %2$s / %3$s."
 
 #. TRANS: Server error displayed when generating an Atom feed fails.
 #. TRANS: %s is the error.
 #: actions/apitimelinegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not generate feed for group - %s"
-msgstr "Kunne ikke oppdatere gruppe."
+msgstr "Kunne ikke generere mating for gruppe - %s"
 
 #. TRANS: Title for timeline of most recent mentions of a user.
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname.
@@ -999,9 +1036,8 @@ msgstr "%s oppdateringer fra alle sammen!"
 
 #. TRANS: Server error displayed calling unimplemented API method for 'retweeted by me'.
 #: actions/apitimelineretweetedbyme.php:71
-#, fuzzy
 msgid "Unimplemented."
-msgstr "Ikke-implementert metode."
+msgstr "Ikke-implementert."
 
 #. TRANS: Title for Atom feed "repeated to me". %s is the user nickname.
 #: actions/apitimelineretweetedtome.php:108
@@ -1037,108 +1073,139 @@ msgstr "API-metode under utvikling."
 
 #. TRANS: Client error displayed when requesting user information for a non-existing user.
 #: actions/apiusershow.php:94
-#, fuzzy
 msgid "User not found."
-msgstr "API-metode ikke funnet!"
+msgstr "Bruker ikke funnet."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Ingen slike vedlegg."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Ingen kallenavn."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Ingen størrelse."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ugyldig størrelse"
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Brukerbilde"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Du kan laste opp en personlig avatar. Maks filstørrelse er %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Bruker uten samsvarende profil."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatarinnstillinger"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Opprinnelig"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Forhåndsvis"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Slett"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Last opp"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Beskjær"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Ingen fil lastet opp."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Velg et kvadratisk utsnitt av bildet som din avatar."
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Mistet våre fildata."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Brukerbildet har blitt oppdatert."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Oppdatering av avatar mislyktes."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar slettet."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Du har allerede blokkert den brukeren."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Blokker brukeren"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1154,8 +1221,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1163,7 +1230,7 @@ msgstr "Nei"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Ikke blokker denne brukeren"
 
@@ -1173,8 +1240,8 @@ msgstr "Ikke blokker denne brukeren"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1182,140 +1249,168 @@ msgstr "Ja"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Blokker denne brukeren"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Kunne ikke lagre blokkeringsinformasjon."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Ingen slik gruppe."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s blokkerte profiler"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s blokkerte profiler, side %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "En liste over brukere som er blokkert fra å delta i denne gruppen."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Opphev blokkering av bruker fra gruppe"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Opphev blokkering"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Opphev blokkering av denne brukeren"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Post til %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Ingen bekreftelseskode."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Fant ikke bekreftelseskode."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Den bekreftelseskoden er ikke til deg."
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Ukjent adressetype %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Den adressen har allerede blitt bekreftet."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Klarte ikke å oppdatere bruker."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Kunne ikke slette e-postbekreftelse."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
+msgstr "Kunne ikke slette adressebekreftelse."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Bekreft adresse"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Adressen «%s» har blitt bekreftet for din konto."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Samtale"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notiser"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Du må være innlogget for å slette et program."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Program ikke funnet."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Du er ikke eieren av dette programmet."
@@ -1323,16 +1418,19 @@ msgstr "Du er ikke eieren av dette programmet."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 #, fuzzy
 msgid "There was a problem with your session token."
 msgstr "Det var et problem med din sesjons-autentisering. Prøv igjen."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Slett program"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1343,20 +1441,19 @@ msgstr ""
 "brukertilkoblinger."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Ikke slett dette programmet"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Slett dette programmet"
 
 #. TRANS: Client error when trying to delete group while not logged in.
 #: actions/deletegroup.php:64
-#, fuzzy
 msgid "You must be logged in to delete a group."
-msgstr "Du må være innlogget for å forlate en gruppe."
+msgstr "Du må være innlogget for å slette en gruppe."
 
 #. TRANS: Client error when trying to delete a group without providing a nickname or ID for the group.
 #: actions/deletegroup.php:94 actions/joingroup.php:88
@@ -1366,31 +1463,30 @@ msgstr "ngen kallenavn eller ID."
 
 #. TRANS: Client error when trying to delete a group without having the rights to delete it.
 #: actions/deletegroup.php:107
-#, fuzzy
 msgid "You are not allowed to delete this group."
-msgstr "Du er ikke et medlem av denne gruppen."
+msgstr "Du har ikke tillatelse til å slette denne gruppen."
 
 #. TRANS: Server error displayed if a group could not be deleted.
 #. TRANS: %s is the name of the group that could not be deleted.
 #: actions/deletegroup.php:150
-#, fuzzy, php-format
+#, php-format
 msgid "Could not delete group %s."
-msgstr "Kunne ikke oppdatere gruppe."
+msgstr "Kunne ikke slette gruppen %s."
 
 #. TRANS: Message given after deleting a group.
 #. TRANS: %s is the deleted group's name.
 #: actions/deletegroup.php:159
-#, fuzzy, php-format
+#, php-format
 msgid "Deleted group %s"
-msgstr "%1$s forlot gruppe %2$s"
+msgstr "Slettet gruppen %s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
-#, fuzzy
 msgid "Delete group"
-msgstr "Slett bruker"
+msgstr "Slett gruppe"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1413,22 +1509,27 @@ msgstr "Ikke slett denne notisen"
 msgid "Delete this group"
 msgstr "Slett denne brukeren"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Ikke logget inn."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Kan ikke slette notisen."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1436,21 +1537,24 @@ msgstr ""
 "Du er i ferd med å slette en notis permanent. Når dette er gjort kan det "
 "ikke gjøres om."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Slett notis"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Er du sikker på at du vil slette denne notisen?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Ikke slett denne notisen"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Slett denne notisen"
 
@@ -1536,12 +1640,14 @@ msgstr "Egendefinert tema"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Du kan laste opp et egendefinert StatusNet-tema som et .ZIP-arkiv."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Endre bakgrunnsbilde"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Bakgrunn"
 
@@ -1554,40 +1660,48 @@ msgstr ""
 "Du kan laste opp et bakgrunnsbilde for nettstedet. Maks filstørrelse er %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "På"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Av"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Slå på eller av bakgrunnsbilde."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Gjenta bakgrunnsbildet"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Endre farger"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Innhold"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Sidelinje"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Tekst"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Lenker"
 
@@ -1599,29 +1713,31 @@ msgstr "Avansert"
 msgid "Custom CSS"
 msgstr "Egendefinert CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Bruk standard"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Gjenopprett standardutseende"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Tilbakestill til standardverdier"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Lagre"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Lagre utseende"
 
@@ -1665,9 +1781,9 @@ msgid "Name is required."
 msgstr "Navn kreves."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Navn er for langt (maks 250 tegn)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1696,7 +1812,7 @@ msgid "Organization is required."
 msgstr "Organisasjon kreves."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organisasjon er for lang (maks 255 tegn)."
@@ -1720,49 +1836,49 @@ msgstr "Anrops-URL er ikke gyldig."
 msgid "Could not update application."
 msgstr "Kunne ikke oppdatere programmet."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Rediger %s gruppe"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Du må være innlogget for å opprette en gruppe."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Du må være en administrator for å redigere gruppen."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Bruk dette skjemaet for å redigere gruppen."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Beskrivelsen er for lang (maks %d tegn)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "For mange alias! Maksimum %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ugyldig alias: «%s»"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Kunne ikke oppdatere gruppe."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Kunne ikke opprette alias."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Lagret valg."
 
@@ -1953,6 +2069,12 @@ msgstr "Ingen ventende bekreftelse å avbryte."
 msgid "That is the wrong email address."
 msgstr "Dette er feil e-postadresse."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Kunne ikke slette e-postbekreftelse."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2036,7 +2158,7 @@ msgstr ""
 "til å legge notisen til dine favoritter."
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s sine favorittnotiser"
@@ -2133,19 +2255,23 @@ msgstr "Du kan ikke tildele brukerroller på dette nettstedet."
 msgid "User already has this role."
 msgstr "Bruker har allerede denne rollen."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Ingen profil oppgitt."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Ingen profil med den ID'en."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Ingen gruppe oppgitt."
@@ -2211,8 +2337,10 @@ msgstr ""
 "Tilpass hvordan gruppen din ser ut med et bakgrunnsbilde og en fargepalett "
 "av ditt valg."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Kunne ikke oppdatere utseende."
 
@@ -2230,6 +2358,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "Du kan laste opp en logo for gruppen din. Maks filstørrelse er %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Last opp"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Beskjær"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Velg et kvadratisk område av bildet som skal bli logoen."
@@ -2372,15 +2508,18 @@ msgstr ""
 "Hvorfor ikke [registrere en konto](%%action.register%%) og [opprette gruppen]"
 "(%%action.newgroup%%) selv!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Bare en admin kan oppheve blokkering av gruppemedlemmer."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Bruker er ikke blokkert fra gruppe."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Feil under oppheving av blokkering."
 
@@ -2467,7 +2606,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publiser en MicroID for min Jabber/Gtalk-adresse."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Innstillinger lagret."
 
@@ -2591,10 +2730,9 @@ msgstr[1] "Du abonnerer allerede på disse brukerne:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2774,8 +2912,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Ugyldig velkomsttekst. Maks lengde er 255 tegn."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2947,28 +3086,20 @@ msgstr "Du må være logget inn for å registrere et program."
 msgid "Use this form to register a new application."
 msgstr "Bruk dette skjemaet for å registrere et nytt program."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Navn er for langt (maks 250 tegn)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Nettadresse til kilde kreves."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organisasjon er for lang (maks 255 tegn)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Kunne ikke opprette program."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Ny gruppe"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Bruk dette skjemaet for å opprette en ny gruppe."
@@ -2978,14 +3109,14 @@ msgid "New message"
 msgstr "Ny melding"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Du kan ikke sende en melding til denne brukeren."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Inget innhold."
 
@@ -2994,7 +3125,7 @@ msgid "No recipient specified."
 msgstr "Ingen mottaker oppgitt."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3006,12 +3137,12 @@ msgstr "Melding sendt"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Direktemelding til %s sendt."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax-feil"
 
@@ -3019,17 +3150,7 @@ msgstr "Ajax-feil"
 msgid "New notice"
 msgstr "Ny notis"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Det er for langt. Maks notisstørrelse er %d tegn."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Maks notisstørrelse er %d tegn, inklusive vedleggs-URL."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Notis postet"
 
@@ -3168,25 +3289,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Notisen har ingen profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s sin status på %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Innholdstypen %s støttes ikke."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Bare %s-nettadresser over vanlig HTTP."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Ikke et støttet dataformat."
@@ -3199,36 +3320,46 @@ msgstr "Personsøk"
 msgid "Notice Search"
 msgstr "Notissøk"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Andre innstillinger"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Håndter diverse andre alternativ."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
-msgstr "  (gratis tjeneste)"
+msgstr " (gratis tjeneste)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Forkort nettadresser med"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Automatisk fortkortelsestjeneste å bruke."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Vis profilutseender"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Vis eller skjul profilutseender."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Navnet på nettadresseforkortelsestjenesten er for lang (maks 50 tegn)."
 
 #: actions/otp.php:69
@@ -3672,8 +3803,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 små bokstaver eller tall, ingen punktum eller mellomrom"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Fullt navn"
@@ -3713,9 +3845,10 @@ msgid "Bio"
 msgstr "Om meg"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Plassering"
@@ -4055,7 +4188,8 @@ msgid "Unexpected password reset."
 msgstr "Uventet tilbakestilling av passord."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Passordet må bestå av 6 eller flere tegn."
 
 #: actions/recoverpassword.php:369
@@ -4297,7 +4431,7 @@ msgid "Repeated!"
 msgstr "Gjentatt!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Svar til %s"
@@ -4428,11 +4562,12 @@ msgstr "Organisasjon"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Beskrivelse"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistikk"
@@ -4450,6 +4585,11 @@ msgstr "Programhandlinger"
 msgid "Reset key & secret"
 msgstr "Tilbakestill nøkkel & hemmelighet"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Slett"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Programinformasjon"
@@ -4544,77 +4684,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Dette er en måte å dele det du liker."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s gruppe"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s gruppe, side %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Gruppeprofil"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "Nettadresse"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Merk"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Alias"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Gruppehandlinger"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Notismating for %s gruppe (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Notismating for %s gruppe (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Notismating for %s gruppe (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF for gruppen %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Medlemmer"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Ingen)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Alle medlemmer"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Opprettet"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Medlemmer"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4630,7 +4799,10 @@ msgstr ""
 "%%%) for å bli medlem av denne gruppen og mange fler. ([Les mer](%%%%doc.help"
 "%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4643,24 +4815,31 @@ msgstr ""
 "programvareverktøyet [StatusNet](http://status.net/). Dets medlemmer deler "
 "korte meldinger om deres liv og interesser. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administratorer"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Ingen slik melding."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Kun senderen og mottakeren kan lese denne meldingen."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Melding til %1$s på %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Melding fra %1$s på %2$s"
@@ -4669,47 +4848,67 @@ msgstr "Melding fra %1$s på %2$s"
 msgid "Notice deleted."
 msgstr "Notis slettet."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " merket %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, side %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Brukere som har merket seg selv med %1$s - side %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, side %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Notismating for %1$s merket %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Notismating for %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Notismating for %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Notismating for %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF for %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Dette er tidslinjen for %1$s men %2$s har ikke postet noe ennå."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4717,7 +4916,9 @@ msgstr ""
 "Sett noe interessant nylig? Du har ikke postet noen notiser ennå, så hvorfor "
 "ikke begynne nå? :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4726,7 +4927,9 @@ msgstr ""
 "Vær den første til å [poste om dette emnet](%%%%action.newnotice%%%%?"
 "status_textarea=%s)!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4739,7 +4942,9 @@ msgstr ""
 "[StatusNet](http://status.net/). [Bli med nå](%%%%action.register%%%%) for å "
 "følge **%s** og mange flere sine notiser. ([Les mer](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4750,7 +4955,8 @@ msgstr ""
 "no.wikipedia.org/wiki/Mikroblogg) basert på det frie programvareverktøyet "
 "[StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetisjon av %s"
@@ -4861,32 +5067,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Hvor lenge en bruker må vente (i sekund) for å poste den samme tingen igjen."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Nettstedsnotis"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Ny melding"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Kunne ikke lagre nettstedsnotis."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
-msgstr ""
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
+msgstr "Maks lengde på en profilbiografi i tegn."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Tekst for nettstedsnotis"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Lagre nettstedsnotis"
 
@@ -5106,13 +5320,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Lagre nettstedsinnstillinger"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "Ikke autorisert."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Kunne ikke lagre merkelapper."
 
@@ -5350,75 +5566,93 @@ msgid ""
 msgstr "Notislisensen ‘%1$s’ er ikke kompatibel med nettstedslisensen ‘%2$s’."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Bruker"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Ugyldig biografigrense. Må være numerisk."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Ugyldig velkomsttekst. Maks lengde er 255 tegn."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Ugyldig standardabonnement: '%1$s' er ikke bruker."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Biografigrense"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Maks lengde på en profilbiografi i tegn."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nye brukere"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Velkomst av ny bruker"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Velkomsttekst for nye brukere (Maks 255 tegn)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Standardabonnement"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Legger automatisk til et abonnement på denne brukeren til nye brukere."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Invitasjoner"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Invitasjoner aktivert"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Hvorvidt brukere tillates å invitere nye brukere."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5519,11 +5753,13 @@ msgstr "Kan ikke lese avatar-URL ‘%s’"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Feil bildetype for avatar-URL ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Vis profilutseender"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 #, fuzzy
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
@@ -5613,7 +5849,7 @@ msgid "Plugins"
 msgstr "Programtillegg"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versjon"
 
@@ -5647,29 +5883,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Ugyldig filnavn."
 
@@ -5796,39 +6041,46 @@ msgid "Problem saving notice."
 msgstr "Problem ved lagring av notis."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problem ved lagring av gruppeinnboks."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Kunne ikke lagre lokal gruppeinformasjon."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5902,32 +6154,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Velkommen til %1$s, @%2$s."
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Kunne ikke opprette gruppe."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Kunne ikke stille inn gruppe-URI."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Kunne ikke stille inn gruppemedlemskap."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Kunne ikke lagre lokal gruppeinformasjon."
 
@@ -5977,197 +6229,204 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Side uten tittel"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 #, fuzzy
 msgid "Primary site navigation"
 msgstr "Endre nettstedskonfigurasjon"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personlig"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Endre e-posten, avateren, passordet og profilen din"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Koble til tjenester"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Koble til"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Endre nettstedskonfigurasjon"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrator"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Inviter venner og kollegaer til å bli med deg på %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Inviter"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Logg ut fra nettstedet"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Logg ut"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Opprett en konto"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrer"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Log inn på nettstedet"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Logg inn"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Hjelp meg."
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Hjelp"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Søk etter personer eller tekst"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Søk"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Nettstedsnotis"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Lokale visninger"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Sidenotis"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Hjelp"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Om"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "OSS/FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 #, fuzzy
 msgid "Privacy"
 msgstr "Privat"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Kilde"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 #, fuzzy
 msgid "Badge"
 msgstr "Knuff"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Programvarelisens for StatusNet"
 
@@ -6175,7 +6434,7 @@ msgstr "Programvarelisens for StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6185,7 +6444,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** er en mikrobloggingtjeneste."
@@ -6194,7 +6453,7 @@ msgstr "**%%site.name%%** er en mikrobloggingtjeneste."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6203,52 +6462,52 @@ msgid ""
 msgstr ""
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 #, fuzzy
 msgid "Site content license"
 msgstr "Programvarelisens for StatusNet"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 #, fuzzy
 msgid "Pagination"
 msgstr "Registrering"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Etter"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Før"
 
@@ -6331,7 +6590,7 @@ msgid "User configuration"
 msgstr "Brukerkonfigurasjon"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Bruker"
 
@@ -6601,7 +6860,7 @@ msgid "AJAX error"
 msgstr "Ajax-feil"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Kommando fullført"
 
@@ -6617,7 +6876,7 @@ msgstr ""
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "Brukeren har ingen profil."
@@ -6687,6 +6946,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6724,130 +6991,134 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Melding for lang - maks er %1$d tegn, du sendte %2$d."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Melding for lang - maks er %1$d tegn, du sendte %2$d."
+msgstr[1] "Melding for lang - maks er %1$d tegn, du sendte %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Feil ved sending av direktemelding."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Nytt nick"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Feil ved repetering av notis."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Melding for lang - maks er %1$d tegn, du sendte %2$d."
+msgstr[1] "Melding for lang - maks er %1$d tegn, du sendte %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "Svar til %s"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Feil ved lagring av notis."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 #, fuzzy
 msgid "Command not yet implemented."
 msgstr "Beklager, denne kommandoen er ikke implementert ennå."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 #, fuzzy
 msgid "Notification off."
 msgstr "Ingen bekreftelseskode."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 #, fuzzy
 msgid "Notification on."
 msgstr "Ingen bekreftelseskode."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 #, fuzzy
 msgid "Can't turn on notification."
 msgstr "Kan ikke gjenta din egen notis."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "Ikke autorisert."
@@ -6855,7 +7126,7 @@ msgstr "Ikke autorisert."
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Ikke autorisert."
@@ -6863,7 +7134,7 @@ msgstr[1] "Ikke autorisert."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Svar til %s"
@@ -6871,7 +7142,7 @@ msgstr "Svar til %s"
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Svar til %s"
@@ -6879,21 +7150,21 @@ msgstr[1] "Svar til %s"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Du er ikke et medlem av den gruppen."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Du er allerede logget inn!"
 msgstr[1] "Du er allerede logget inn!"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7000,26 +7271,42 @@ msgstr "Tilkoblede program"
 msgid "Database error"
 msgstr "Databasefeil"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Last opp fil"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 #, fuzzy
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "Du kan laste opp en personlig avatar. Maks filstørrelse er %s."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Tjeneren kunne ikke håndtere så mye POST-data (%s bytes) på grunn av sitt "
-"nåværende oppsett."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "På"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Av"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Nullstill"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 #, fuzzy
 msgid "Design defaults restored."
 msgstr "Utseende lagret."
@@ -7050,7 +7337,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Venn av en venn"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7091,7 +7379,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 små bokstaver eller tall, ingen punktum eller mellomrom"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "Nettadresse til hjemmesiden for dette programmet"
 
 #: lib/groupeditform.php:168
@@ -7099,20 +7388,28 @@ msgid "Describe the group or topic"
 msgstr "Beskriv programmet ditt"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Beskriv programmet ditt med %d tegn"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Beskriv programmet ditt med %d tegn"
+msgstr[1] "Beskriv programmet ditt med %d tegn"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 #, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Hvor du er, for eksempel «By, fylke (eller region), land»"
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7212,39 +7509,57 @@ msgstr "Denne siden er ikke tilgjengelig i en mediatype du aksepterer"
 msgid "Unsupported image file format."
 msgstr "Bildefilformatet støttes ikke."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Filen er for stor. Maks filstørrelse er %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Delvis opplasting."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Systemfeil ved opplasting av fil."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Ikke et bilde eller en korrupt fil."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Mistet filen vår."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Ukjent filtype"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7491,7 +7806,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s /@%s) la din notis til som en favoritt"
@@ -7501,7 +7816,7 @@ msgstr "%s /@%s) la din notis til som en favoritt"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7539,7 +7854,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7552,7 +7867,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) sendte en notis for din oppmerksomhet"
@@ -7563,7 +7878,7 @@ msgstr "%s (@%s) sendte en notis for din oppmerksomhet"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7648,7 +7963,7 @@ msgstr "Det er ikke din e-postadresse."
 msgid "Sorry, no incoming email allowed."
 msgstr "Ingen innkommende e-postadresse."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Meldingstypen støttes ikke: %s"
@@ -7710,7 +8025,7 @@ msgstr "Kunne ikke avgjøre filens MIME-type."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7719,7 +8034,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7862,31 +8177,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Kunne ikke sette inn bekreftelseskode."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personlig"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Svar"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoritter"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Innboks"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Dine innkommende meldinger"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Utboks"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Dine sendte meldinger"
 
@@ -7998,16 +8313,17 @@ msgid "Sandbox this user"
 msgstr "Opphev blokkering av denne brukeren"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Søk nettsted"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Nøkkelord"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8090,6 +8406,12 @@ msgstr ""
 msgid "None"
 msgstr "Ingen"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ugyldig filnavn."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8099,8 +8421,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Oppdatering av avatar mislyktes."
@@ -8111,29 +8433,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 #, fuzzy
 msgid "Error opening theme archive."
 msgstr "Feil ved oppdatering av fjernprofil."
@@ -8142,6 +8467,13 @@ msgstr "Feil ved oppdatering av fjernprofil."
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Opphev blokkering"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8312,17 +8644,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Melding for lang - maks er %1$d tegn, du sendte %2$d."
 msgstr[1] "Melding for lang - maks er %1$d tegn, du sendte %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Ingen bruker-ID spesifisert."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index d15c7f0037760b2c9715d513d826ab76befc0654..80636ebd88291c280eb960f12d77e96ea0129023 100644 (file)
@@ -12,17 +12,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:22+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:33+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,15 +79,22 @@ msgstr "Toegangsinstellingen opslaan"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Opslaan"
@@ -118,6 +125,7 @@ msgstr "Deze pagina bestaat niet."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -130,14 +138,14 @@ msgstr "Deze pagina bestaat niet."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Onbekende gebruiker."
@@ -154,7 +162,7 @@ msgstr "%1$s en vrienden, pagina %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s en vrienden"
@@ -211,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -311,11 +321,12 @@ msgstr "Het was niet mogelijk de gebruiker bij te werken."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -328,11 +339,13 @@ msgstr "Het was niet mogelijk het profiel op te slaan."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -511,9 +524,11 @@ msgstr "Het was niet mogelijk de brongebruiker te bepalen."
 msgid "Could not find target user."
 msgstr "Het was niet mogelijk de doelgebruiker te vinden."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -521,36 +536,44 @@ msgstr ""
 "zijn niet toegestaan."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr ""
 "De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Ongeldige gebruikersnaam!"
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "De thuispagina is geen geldige URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "De volledige naam is te lang (maximaal 255 tekens)."
@@ -558,10 +581,14 @@ msgstr "De volledige naam is te lang (maximaal 255 tekens)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -569,16 +596,23 @@ msgstr[0] "De beschrijving is te lang (maximaal %d teken)."
 msgstr[1] "De beschrijving is te lang (maximaal %d tekens)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "De locatie is te lang (maximaal 255 tekens)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -594,15 +628,19 @@ msgstr "Ongeldige alias: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "De alias \"%s\" wordt al gebruikt. Geef een andere alias op."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Een alias kan niet hetzelfde zijn als de gebruikersnaam."
 
@@ -652,7 +690,7 @@ msgstr "U bent geen lid van deze groep."
 #: lib/command.php:398
 #, php-format
 msgid "Could not remove user %1$s from group %2$s."
-msgstr "Het was niet mogelijk gebruiker %1$s uit de group %2$s te verwijderen."
+msgstr "Het was niet mogelijk gebruiker %1$s uit de groep %2$s te verwijderen."
 
 #. TRANS: Used as title in check for group membership. %s is a user name.
 #: actions/apigrouplist.php:94
@@ -692,7 +730,7 @@ msgstr "Het opgegeven token of controlegetal is ongeldig."
 #. TRANS: Client error given when no oauth_token was passed to the OAuth API.
 #: actions/apioauthauthorize.php:107
 msgid "No oauth_token parameter provided."
-msgstr "Er is geen oauth_token parameter opgegeven."
+msgstr "Er is geen parameter oauth_token opgegeven."
 
 #. TRANS: Client error given when an invalid request token was passed to the OAuth API.
 #: actions/apioauthauthorize.php:115 actions/apioauthauthorize.php:129
@@ -705,21 +743,21 @@ msgid "Request token already authorized."
 msgstr "Het verzoektoken is al geautoriseerd."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
@@ -738,17 +776,19 @@ msgstr ""
 "oauth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Het formulier is onverwacht ingezonden."
 
@@ -797,9 +837,10 @@ msgstr "Gebruikersgegevens"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -893,20 +934,21 @@ msgstr "U kunt de status van een andere gebruiker niet verwijderen."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "De mededeling bestaat niet."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "U kunt uw eigen mededeling niet herhalen."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "U hebt die mededeling al herhaald."
 
@@ -927,7 +969,8 @@ msgstr "De client moet een parameter \"status\" met een waarde opgeven."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -941,7 +984,7 @@ msgstr "De bovenliggende mededeling is niet aangetroffen."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1050,106 +1093,138 @@ msgstr "De API-functie is in bewerking."
 msgid "User not found."
 msgstr "De pagina is niet aangetroffen."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Deze bijlage bestaat niet."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Geen gebruikersnaam."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Geen afmeting."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ongeldige afmetingen."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "U kunt een persoonlijke avatar uploaden. De maximale bestandsgrootte is %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Gebruiker zonder bijbehorend profiel."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatarinstellingen"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Origineel"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Voorvertoning"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Uploaden"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Uitsnijden"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Er is geen bestand geüpload."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 "Selecteer een vierkant in de afbeelding om deze als uw avatar in te stellen"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Ons bestand is verloren gegaan."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "De avatar is bijgewerkt."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Het bijwerken van de avatar is mislukt."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "De avatar is verwijderd."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "U hebt deze gebruiker reeds geblokkeerd."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Gebruiker blokkeren"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1165,8 +1240,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1174,7 +1249,7 @@ msgstr "Nee"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Gebruiker niet blokkeren"
 
@@ -1184,8 +1259,8 @@ msgstr "Gebruiker niet blokkeren"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1193,140 +1268,168 @@ msgstr "Ja"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Deze gebruiker blokkeren"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Het was niet mogelijk om de blokkadeinformatie op te slaan."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "De opgegeven groep bestaat niet."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
-msgstr "%s geblokkeerde profielen"
+msgstr "Geblokkeerde profielen voor %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
-msgstr "%1$s geblokkeerde profielen, pagina %2$d"
+msgstr "Geblokkeerde profielen voor %1$s, pagina %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Een lijst met voor deze groep geblokkeerde gebruikers."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Deze gebruiker weer toegang geven tot de groep"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
-msgstr "Deblokkeer"
+msgstr "Deblokkeren"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Deblokkeer deze gebruiker."
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Verzenden naar %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Geen bevestigingscode."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "De bevestigingscode niet gevonden."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Dit is niet uw bevestigingscode!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Onbekend adrestype %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Dit adres is al bevestigd."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "De gebruiker kon gebruiker niet bijwerkt worden."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "De e-mailbevestiging kon niet verwijderd worden."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
+msgstr "De adresbevestiging kon niet verwijderd worden."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Adres bevestigen"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Het adres \"%s\" is voor uw gebruiker bevestigd."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Dialoog"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Mededelingen"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "U moet aangemeld zijn om een applicatie te kunnen verwijderen."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "De applicatie is niet gevonden."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "U bent niet de eigenaar van deze applicatie."
@@ -1334,15 +1437,18 @@ msgstr "U bent niet de eigenaar van deze applicatie."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Er is een probleem met uw sessietoken."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Applicatie verwijderen"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1353,12 +1459,12 @@ msgstr ""
 "inclusief alle bestaande gebruikersverbindingen."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Deze applicatie niet verwijderen"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Deze applicatie verwijderen"
 
@@ -1392,12 +1498,13 @@ msgstr "Het was niet mogelijk de groep %s te verwijderen."
 msgid "Deleted group %s"
 msgstr "De groep %s is verwijderd."
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Groep verwijderen"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1419,22 +1526,27 @@ msgstr "Verwijder deze groep niet"
 msgid "Delete this group"
 msgstr "Groep verwijderen"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Niet aangemeld."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Deze mededeling kan niet verwijderd worden."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1442,21 +1554,24 @@ msgstr ""
 "U staat op het punt een mededeling permanent te verwijderen. Als dit "
 "uitgevoerd is, kan het niet ongedaan gemaakt worden."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Mededeling verwijderen"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Weet u zeker dat u deze aankondiging wilt verwijderen?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Deze mededeling niet verwijderen"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Deze mededeling verwijderen"
 
@@ -1541,12 +1656,14 @@ msgstr "Aangepaste vormgeving"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "U kunt een vormgeving voor StatusNet uploaden als ZIP-archief."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Achtergrondafbeelding wijzigen"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Achtergrond"
 
@@ -1560,40 +1677,48 @@ msgstr ""
 "bestandsgrootte is %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Aan"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Uit"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Achtergrondafbeelding inschakelen of uitschakelen."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Achtergrondafbeelding naast elkaar"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Kleuren wijzigen"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Inhoud"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Menubalk"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Tekst"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Verwijzingen"
 
@@ -1605,29 +1730,31 @@ msgstr "Uitgebreid"
 msgid "Custom CSS"
 msgstr "Aangepaste CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Standaardinstellingen gebruiken"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Standaardontwerp toepassen"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Standaardinstellingen toepassen"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Opslaan"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Ontwerp opslaan"
 
@@ -1671,8 +1798,8 @@ msgid "Name is required."
 msgstr "Een naam is verplicht."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
 msgstr "De naam is te lang (maximaal 255 tekens)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1701,7 +1828,7 @@ msgid "Organization is required."
 msgstr "Organisatie is verplicht."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "De organisatienaam is te lang (maximaal 255 tekens)."
 
@@ -1724,49 +1851,49 @@ msgstr "De callback-URL is niet geldig."
 msgid "Could not update application."
 msgstr "Het was niet mogelijk de applicatie bij te werken."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Groep %s bewerken"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "U moet aangemeld zijn om een groep aan te kunnen maken."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "U moet beheerder zijn om de groep te kunnen bewerken."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Gebruik dit formulier om de groep te bewerken."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "De beschrijving is te lang (maximaal %d tekens)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Te veel aliassen! Het maximale aantal is %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ongeldige alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Het was niet mogelijk de groep bij te werken."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Het was niet mogelijk de aliassen aan te maken."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "De instellingen zijn opgeslagen."
 
@@ -1960,6 +2087,12 @@ msgstr "Er is geen openstaand bevestigingsverzoek om te annuleren."
 msgid "That is the wrong email address."
 msgstr "Dat is het verkeerde e-mailadres."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "De e-mailbevestiging kon niet verwijderd worden."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2044,7 +2177,7 @@ msgstr ""
 "voor de favorietenlijst plaatsen!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Favoriete mededelingen van %s"
@@ -2145,19 +2278,23 @@ msgstr "Op deze website kunt u geen gebruikersrollen toekennen."
 msgid "User already has this role."
 msgstr "Deze gebruiker heeft deze rol al."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Er is geen profiel opgegeven."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Er is geen profiel met dat ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Er is geen groep aangegeven."
@@ -2225,8 +2362,10 @@ msgstr ""
 "De vormgeving van uw groep aanpassen met een achtergrondafbeelding en een "
 "kleurenpalet van uw keuze."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Het was niet mogelijk uw ontwerp bij te werken."
 
@@ -2246,6 +2385,14 @@ msgstr ""
 "Hier kunt u een logo voor uw groep uploaden. De maximale bestandsgrootte is %"
 "s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Uploaden"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Uitsnijden"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Selecteer een vierkant uit de afbeelding die het logo wordt."
@@ -2390,15 +2537,18 @@ msgstr ""
 "U kunt een [gebruiker registreren](%%action.register%%) en de groep zelf "
 "[aanmaken](%%action.newgroup%%)!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Alleen beheerders kunnen groepsleden deblokkeren."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "De gebruiker is niet de toegang tot de groep ontzegd."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Er is een fout opgetreden bij het verwijderen van de blokkade."
 
@@ -2488,7 +2638,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Een MicroID voor mijn Jabber/GTalk-adres publiceren."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Uw voorkeuren zijn opgeslagen."
 
@@ -2611,10 +2761,9 @@ msgstr[1] "U bent al geabonneerd op deze gebruikers:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2799,8 +2948,8 @@ msgstr ""
 "voorbehouden\" gebruikt."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr "Ongeldige licentienaam. De maximale lengte is 255 tekens."
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "De licentienaam is ongeldig. De maximale lengte is 255 tekens."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2973,26 +3122,20 @@ msgstr "U moet aangemeld zijn om een applicatie te kunnen registreren."
 msgid "Use this form to register a new application."
 msgstr "Gebruik dit formulier om een nieuwe applicatie te registreren."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "De naam is te lang (maximaal 255 tekens)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Een bron-URL is verplicht."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "De organisatienaam is te lang (maximaal 255 tekens)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Het was niet mogelijk de applicatie aan te maken."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nieuwe groep"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Gebruik dit formulier om een nieuwe groep aan te maken."
@@ -3002,14 +3145,14 @@ msgid "New message"
 msgstr "Nieuw bericht"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "U kunt geen bericht naar deze gebruiker zenden."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Geen inhoud!"
 
@@ -3018,7 +3161,7 @@ msgid "No recipient specified."
 msgstr "Er is geen ontvanger aangegeven."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Stuur geen berichten naar uzelf. Zeg het gewoon in uw hoofd."
@@ -3029,12 +3172,12 @@ msgstr "Bericht verzonden."
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Het directe bericht aan %s is verzonden."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Er is een Ajax-fout opgetreden"
 
@@ -3042,19 +3185,7 @@ msgstr "Er is een Ajax-fout opgetreden"
 msgid "New notice"
 msgstr "Nieuw bericht"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "De mededeling is te lang. Gebruik maximaal %d tekens."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"De maximale mededelingenlengte is %d tekens, inclusief de URL voor de "
-"bijlage."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "De mededeling is verzonden"
 
@@ -3201,25 +3332,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Mededeling heeft geen profiel."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Status van %1$s op %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Inhoudstype %s wordt niet ondersteund."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Alleen URL's voor %s via normale HTTP alstublieft."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Geen ondersteund gegevensformaat."
@@ -3232,36 +3363,45 @@ msgstr "Mensen zoeken"
 msgid "Notice Search"
 msgstr "Mededeling zoeken"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Overige instellingen"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Overige instellingen beheren."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (gratis dienst)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "URL's inkorten met"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Te gebruiken automatische verkortingsdienst."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Profielontwerpen gebruiken"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Profielontwerpen weergeven of verbergen"
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "De URL voor de verkortingdienst is te lang (maximaal 50 tekens)."
 
 #: actions/otp.php:69
@@ -3312,7 +3452,7 @@ msgstr "Wachtwoord wijzigen"
 
 #: actions/passwordsettings.php:104
 msgid "Old password"
-msgstr "Oud wachtwoord"
+msgstr "Huidige wachtwoord"
 
 #: actions/passwordsettings.php:108 actions/recoverpassword.php:235
 msgid "New password"
@@ -3688,8 +3828,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Volledige naam"
@@ -3728,9 +3869,10 @@ msgid "Bio"
 msgstr "Beschrijving"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Locatie"
@@ -4078,7 +4220,7 @@ msgid "Unexpected password reset."
 msgstr "Het wachtwoord is onverwacht opnieuw ingesteld."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+msgid "Password must be 6 characters or more."
 msgstr "Het wachtwoord moet uit zes of meer tekens bestaan."
 
 #: actions/recoverpassword.php:369
@@ -4321,7 +4463,7 @@ msgid "Repeated!"
 msgstr "Herhaald!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Antwoorden aan %s"
@@ -4454,11 +4596,12 @@ msgstr "Organisatie"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Beschrijving"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistieken"
@@ -4476,6 +4619,11 @@ msgstr "Applicatiehandelingen"
 msgid "Reset key & secret"
 msgstr "Sleutel en wachtwoord op nieuw instellen"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Verwijderen"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Applicatieinformatie"
@@ -4571,77 +4719,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Dit is de manier om dat te delen wat u wilt."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s groep"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Groep %1$s, pagina %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Groepsprofiel"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Opmerking"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliassen"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Groepshandelingen"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Mededelingenfeed voor groep %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Mededelingenfeed voor groep %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Mededelingenfeed voor groep %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Vriend van een vriend voor de groep %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Leden"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(geen)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Alle leden"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Aangemaakt"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Leden"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4657,7 +4832,10 @@ msgstr ""
 "lid te worden van deze groep en nog veel meer! [Meer lezen...](%%%%doc.help%%"
 "%%)"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4670,24 +4848,31 @@ msgstr ""
 "[StatusNet](http://status.net/). De leden wisselen korte mededelingen uit "
 "over hun ervaringen en interesses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Beheerders"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Dat bericht bestaat niet."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Alleen de verzender en de ontvanger kunnen dit bericht lezen."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Bericht aan %1$s op %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Bericht van %1$s op %2$s"
@@ -4696,48 +4881,68 @@ msgstr "Bericht van %1$s op %2$s"
 msgid "Notice deleted."
 msgstr "Deze mededeling is verwijderd."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, php-format
-msgid " tagged %s"
-msgstr " met het label %s"
+msgid "%1$s tagged %2$s"
+msgstr "%2$s gelabeld door %1$s"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%2$s gelabeld door %1$s, pagina %3$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, pagina %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Mededelingenfeed voor %1$s met het label %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Mededelingenfeed voor %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Mededelingenfeed voor %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Mededelingenfeed voor %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "Vriend van een vriend (FOAF) voor %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
-"Dit is de tijdlijn voor %1$s, maar %2$s heeft nog geen berichten verzonden."
+"Dit is de tijdlijn voor %1$s, maar %1$s heeft nog geen berichten verzonden."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4745,7 +4950,9 @@ msgstr ""
 "Hebt u recentelijk iets interessants gezien? U hebt nog geen mededelingen "
 "verstuurd, dus dit is een ideaal moment om daarmee te beginnen!"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4754,7 +4961,9 @@ msgstr ""
 "U kunt proberen %1$s te porren of [een bericht aan die gebruiker sturen](%%%%"
 "action.newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4768,7 +4977,9 @@ msgstr ""
 "abonneren op de mededelingen van **%s** en nog veel meer! [Meer lezen...](%%%"
 "%doc.help%%%%)"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4779,7 +4990,8 @@ msgstr ""
 "(http://en.wikipedia.org/wiki/Micro-blogging) gebaseerd op de Vrije Software "
 "[StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Herhaald van %s"
@@ -4898,33 +5110,40 @@ msgstr ""
 "Hoe lang gebruikers moeten wachten (in seconden) voor ze hetzelfde kunnen "
 "zenden."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Websitebrede mededeling"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Websitebrede mededeling bewerken"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Het was niet mogelijk om de websitebrede mededeling op te slaan."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "De maximale lengte voor de websitebrede aankondiging is 255 tekens."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Tekst voor websitebrede mededeling"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
-"Tekst voor websitebrede aankondiging (maximaal 255 tekens - HTML is "
+"Tekst voor websitebrede aankondiging (maximaal 255 tekens en HTML is "
 "toegestaan)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Websitebrede mededeling opslaan"
 
@@ -5141,12 +5360,14 @@ msgstr "Snapshots worden naar deze URL verzonden"
 msgid "Save snapshot settings"
 msgstr "Snapshotinstellingen opslaan"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "U bent niet geabonneerd op dat profiel."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Het was niet mogelijk het abonnement op te slaan."
 
@@ -5173,14 +5394,14 @@ msgstr "Geabonneerd"
 #: actions/subscribers.php:51
 #, php-format
 msgid "%s subscribers"
-msgstr "%s abonnees"
+msgstr "Abonnees van %s"
 
 #. TRANS: Header for list of subscribers for a user (not first page).
 #. TRANS: %1$s is the user's nickname, $2$d is the page number.
 #: actions/subscribers.php:55
 #, php-format
 msgid "%1$s subscribers, page %2$d"
-msgstr "%1$s abonnees, pagina %2$d"
+msgstr "Abonnees van %1$s, pagina %2$d"
 
 #. TRANS: Page notice for page with an overview of all subscribers
 #. TRANS: of the logged in user's own profile.
@@ -5230,14 +5451,14 @@ msgstr ""
 #: actions/subscriptions.php:51
 #, php-format
 msgid "%s subscriptions"
-msgstr "%s abonnementen"
+msgstr "Abonnementen van %s"
 
 #. TRANS: Header for subscriptions overview for a user (not first page).
 #. TRANS: %1$s is a user nickname, %2$d is the page number.
 #: actions/subscriptions.php:55
 #, php-format
 msgid "%1$s subscriptions, page %2$d"
-msgstr "%1$s abonnementen, pagina %2$d"
+msgstr "Abonnementen van %1$s, pagina %2$d"
 
 #. TRANS: Page notice for page with an overview of all subscriptions
 #. TRANS: of the logged in user's own profile.
@@ -5391,75 +5612,91 @@ msgstr ""
 "de sitelicentie \"%2$s\"."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Gebruiker"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Gebruikersinstellingen voor deze StatusNet-website"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Ongeldige beschrijvingslimiet. Het moet een getal zijn."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Ongeldige welkomsttekst. De maximale lengte is 255 tekens."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Ongeldig standaardabonnement: \"%1$s\" is geen gebruiker."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profiel"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Profiellimiet"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "De maximale lengte van de profieltekst in tekens."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nieuwe gebruikers"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Welkom voor nieuwe gebruikers"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Welkomsttekst voor nieuwe gebruikers. Maximaal 255 tekens."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Standaardabonnement"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Nieuwe gebruikers automatisch op deze gebruiker abonneren"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Uitnodigingen"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Uitnodigingen ingeschakeld"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Of gebruikers nieuwe gebruikers kunnen uitnodigen."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Gebruikersinstellingen opslaan"
 
@@ -5568,11 +5805,13 @@ msgstr "Het was niet mogelijk de avatar-URL \"%s\" te lezen."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Er staat een verkeerd afbeeldingsttype op de avatar-URL \"%s\"."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Profielontwerp"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5672,7 +5911,7 @@ msgid "Plugins"
 msgstr "Plug-ins"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versie"
 
@@ -5705,33 +5944,45 @@ msgstr "Robin denkt dat iets onmogelijk is."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Bestanden mogen niet groter zijn dan %1$d byte, en uw bestand was %2$d "
+"bytes. Probeer een kleinere versie te uploaden."
+msgstr[1] ""
 "Bestanden mogen niet groter zijn dan %1$d bytes, en uw bestand was %2$d "
 "bytes. Probeer een kleinere versie te uploaden."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
-"Een bestand van deze grootte overschijdt uw gebruikersquota van %d bytes."
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
-"Een bestand van deze grootte overschijdt uw maandelijkse quota van %d bytes."
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Een bestand van deze grootte overschrijdt uw maandelijkse quotum van %d byte."
+msgstr[1] ""
+"Een bestand van deze grootte overschrijdt uw maandelijkse quotum van %d "
+"bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Ongeldige bestandsnaam."
 
@@ -5865,12 +6116,12 @@ msgid "Problem saving notice."
 msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Het gegevenstype dat is opgegeven aan saveKnownGroups is onjuist"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr ""
 "Er is een probleem opgetreden bij het opslaan van het Postvak IN van de "
@@ -5878,21 +6129,28 @@ msgstr ""
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Het was niet mogelijk antwoord %1$d voor %2$d op te slaan."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5901,7 +6159,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5974,33 +6232,33 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Welkom bij %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Er is geen gebruiker gedefinieerd voor single-usermodus."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 "De \"single-user\"-modus is aangeroepen terwijl deze niet is ingeschakeld."
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Het was niet mogelijk de groep aan te maken."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Het was niet mogelijk de groeps-URI in te stellen."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Het was niet mogelijk het groepslidmaatschap in te stellen."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Het was niet mogelijk de lokale groepsinformatie op te slaan."
 
@@ -6050,194 +6308,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Naamloze pagina"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "Meer weergeven"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Primaire sitenavigatie"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Persoonlijk profiel en tijdlijn van vrienden"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Persoonlijk"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Uw e-mailadres, avatar, wachtwoord of profiel wijzigen"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Gebruiker"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Met andere diensten koppelen"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Koppelen"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Websiteinstellingen wijzigen"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Beheer"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Vrienden en collega's uitnodigen om u te vergezellen op %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Uitnodigingen"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Gebruiker afmelden"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Afmelden"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Gebruiker aanmaken"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registreren"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Gebruiker aanmelden"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Aanmelden"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Help me!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Help"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Naar gebruikers of tekst zoeken"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Zoeken"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Mededeling van de website"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Lokale weergaven"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Mededeling van de pagina"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Secundaire sitenavigatie"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Help"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Over"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Veel gestelde vragen"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Gebruiksvoorwaarden"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacy"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Broncode"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contact"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Widget"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licentie van de StatusNet-software"
 
@@ -6245,7 +6510,7 @@ msgstr "Licentie van de StatusNet-software"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6255,7 +6520,7 @@ msgstr ""
 "broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** is een microblogdienst."
@@ -6264,7 +6529,7 @@ msgstr "**%%site.name%%** is een microblogdienst."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6276,20 +6541,20 @@ msgstr ""
 "www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licentie voor siteinhoud"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Inhoud en gegevens van %1$s zijn persoonlijk en vertrouwelijk."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6297,7 +6562,7 @@ msgstr ""
 "voorbehouden."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Auteursrechten op inhoud en gegevens rusten bij de respectievelijke "
@@ -6305,26 +6570,26 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 "Alle inhoud en gegevens van %1$s zijn beschikbaar onder de licentie %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginering"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Later"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Eerder"
 
@@ -6403,7 +6668,7 @@ msgid "User configuration"
 msgstr "Gebruikersinstellingen"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Gebruiker"
 
@@ -6668,7 +6933,7 @@ msgid "AJAX error"
 msgstr "Er is een Ajax-fout opgetreden"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Het commando is uitgevoerd"
 
@@ -6684,7 +6949,7 @@ msgstr "Er bestaat geen mededeling met dat ID."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Deze gebruiker heeft geen laatste mededeling."
 
@@ -6753,6 +7018,14 @@ msgstr "%1$s is lid geworden van de groep %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s heeft de groep %2$s verlaten."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6792,118 +7065,126 @@ msgstr ""
 "%s is een profiel op afstand. U kunt alle privéberichten verzenden aan "
 "gebruikers op dezelfde server."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Het bericht te is lang. De maximale lengte is %1$d tekens. De lengte van uw "
-"bericht was %2$d."
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Het bericht is te lang. Het mag maximaal %1$d teken bevatten en u hebt er %2"
+"$d gebruikt."
+msgstr[1] ""
+"Het bericht is te lang. Het mag maximaal %1$d tekens bevatten en u hebt er %2"
+"$d gebruikt."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Er is een fout opgetreden bij het verzonden van het directe bericht."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "De mededeling van %s is herhaald."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Er is een fout opgetreden bij het herhalen van de mededeling."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"De mededeling is te lang. De maximale lengte is %1$d tekens. Uw mededeling "
-"bevatte %2$d tekens."
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"De mededeling is te lang. Deze mag maximaal %1$d teken bevatten en u hebt er "
+"%2$d gebruikt."
+msgstr[1] ""
+"De mededeling is te lang. Deze mag maximaal %1$d tekens bevatten en u hebt "
+"er %2$d gebruikt."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Het antwoord aan %s is verzonden."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Er is een fout opgetreden bij het opslaan van de mededeling."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Geef de naam op van de gebruiker waarop u zich wilt abonneren."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Abonneren op OMB-profielen op commando is niet mogelijk."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Geabonneerd op %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 "Geef de naam op van de gebruiker waarop u het abonnement wilt opzeggen."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Uw abonnement op %s is opgezegd."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Dit commando is nog niet geïmplementeerd."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notificaties uitgeschakeld."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Het is niet mogelijk de mededelingen uit te schakelen."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notificaties ingeschakeld."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Het is niet mogelijk de notificatie uit te schakelen."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Het aanmeldcommando is uitgeschakeld."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6912,20 +7193,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Het abonnement van %s is opgeheven."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "U bent op geen enkele gebruiker geabonneerd."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "U bent geabonneerd op deze gebruiker:"
@@ -6933,14 +7214,14 @@ msgstr[1] "U bent geabonneerd op deze gebruikers:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Niemand heeft een abonnenment op u."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Deze gebruiker is op u geabonneerd:"
@@ -6948,21 +7229,21 @@ msgstr[1] "Deze gebruikers zijn op u geabonneerd:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "U bent lid van geen enkele groep."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "U bent lid van deze groep:"
 msgstr[1] "U bent lid van deze groepen:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7104,10 +7385,13 @@ msgstr "Geautoriseerde verbonden applicaties"
 msgid "Database error"
 msgstr "Databasefout"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Bestand uploaden"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7115,16 +7399,26 @@ msgstr ""
 "U kunt een persoonlijke achtergrondafbeelding uploaden. De maximale "
 "bestandsgrootte is 2 megabyte."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"De server was niet in staat zoveel POST-gegevens te verwerken (%s bytes) "
-"vanwege de huidige instellingen."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr "Aan"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Uit"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Opnieuw instellen"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Het standaardontwerp is weer ingesteld."
 
@@ -7152,7 +7446,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "Vrienden van vrienden (FOAF)"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Feeds"
 
@@ -7190,7 +7485,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "De URL van de thuispagina of de blog van de groep of het onderwerp"
 
 #: lib/groupeditform.php:168
@@ -7199,20 +7494,29 @@ msgstr "Beschrijf de groep of het onderwerp"
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Beschrijf de groep of het onderwerp in %d tekens"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Beschrijf de group in %d teken of minder"
+msgstr[1] "Beschrijf de group in %d tekens of minder"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Locatie voor de groep - als relevant. Iets als \"Plaats, regio, land\"."
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
-"Extra namen voor de groep, gescheiden door komma's of spaties. Maximaal %d."
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] "Extra bijnaam voor de groep. Maximaal %d alias toegestaan."
+msgstr[1] ""
+"Extra bijnamen voor de groep, gescheiden met komma's of spaties. Maximaal %d "
+"aliasen toegestaan."
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7240,7 +7544,7 @@ msgstr "Leden"
 #, php-format
 msgctxt "TOOLTIP"
 msgid "%s group members"
-msgstr "Leden van de group %s"
+msgstr "Leden van de groep %s"
 
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
 #: lib/groupnav.php:108
@@ -7312,39 +7616,57 @@ msgstr "Deze pagina is niet beschikbaar in een mediatype dat u accepteert"
 msgid "Unsupported image file format."
 msgstr "Niet ondersteund beeldbestandsformaat."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Dat bestand is te groot. De maximale bestandsgrootte is %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Gedeeltelijke upload."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Er is een systeemfout opgetreden tijdens het uploaden van het bestand."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Het bestand is geen afbeelding of het bestand is beschadigd."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Het bestand is zoekgeraakt."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Onbekend bestandstype"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "%d MB"
+msgstr[1] "%d MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "%d kB"
+msgstr[1] "%d kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] "%d byte"
+msgstr[1] "%d bytes"
 
 #: lib/jabber.php:387
 #, php-format
@@ -7596,7 +7918,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) heeft uw mededeling als favoriet toegevoegd"
@@ -7606,7 +7928,7 @@ msgstr "%1$s (@%2$s) heeft uw mededeling als favoriet toegevoegd"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7645,7 +7967,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7658,7 +7980,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%1$s (@%2$s) heeft u een mededeling gestuurd"
@@ -7669,7 +7991,7 @@ msgstr "%1$s (@%2$s) heeft u een mededeling gestuurd"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7751,7 +8073,7 @@ msgstr "Dit is niet uw inkomende e-mailadres."
 msgid "Sorry, no incoming email allowed."
 msgstr "Inkomende e-mail is niet toegestaan."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Niet ondersteund berichttype: %s"
@@ -7819,7 +8141,7 @@ msgstr "Het was niet mogelijk het MIME-type van het bestand te bepalen."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7830,7 +8152,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" is geen ondersteund bestandstype op deze server."
@@ -7971,31 +8293,31 @@ msgstr "Dubbele mededeling."
 msgid "Couldn't insert new subscription."
 msgstr "Kon nieuw abonnement niet toevoegen."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Persoonlijk"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Antwoorden"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favorieten"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Postvak IN"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Uw inkomende berichten"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Postvak UIT"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Uw verzonden berichten"
 
@@ -8101,16 +8423,17 @@ msgid "Sandbox this user"
 msgstr "Deze gebruiker in de zandbak plaatsen"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Site doorzoeken"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Term(en)"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8191,6 +8514,11 @@ msgstr "Gebruikerslabelwolk"
 msgid "None"
 msgstr "Geen"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+msgid "Invalid theme name."
+msgstr "Ongeldige naam voor vormgeving."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8202,8 +8530,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Het vormgevingsbestand ontbreekt of is de upload mislukt."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Het opslaan van de vormgeving is mislukt."
 
@@ -8213,17 +8541,22 @@ msgstr "Ongeldige vormgeving: de mappenstructuur is onjuist."
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
-"De toegevoegde vormgeving is te groot. Deze moet uitgepakt kleiner zijn dan %"
-"d bytes."
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"De geüploade vormgeving is te groot; deze moet omgecomprimeerd kleiner zijn "
+"dan %d byte."
+msgstr[1] ""
+"De geüploade vormgeving is te groot; deze moet omgecomprimeerd kleiner zijn "
+"dan %d bytes."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 "Ongeldig bestand met vormgeving: het bestand css/display.css is niet aanwezig"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8231,17 +8564,17 @@ msgstr ""
 "De vormgeving bevat een ongeldige bestandsnaam of mapnaam. Gebruik alleen "
 "maar ASCII-letters, getallen, liggende streepjes en het minteken."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Het uiterlijk bevat onveilige namen voor bestandsextensies."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 "De vormgeving bevat een bestand van het type \".%s\". Dit is niet toegestaan."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr ""
 "Er is een fout opgetreden tijdens het openen van het archiefbestand met de "
@@ -8251,6 +8584,12 @@ msgstr ""
 msgid "Top posters"
 msgstr "Meest actieve gebruikers"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Deblokkeren"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Uit de zandbak halen"
@@ -8422,16 +8761,21 @@ msgstr[1] ""
 "Het bericht te is lang. De maximale lengte is %1$d tekens. De lengte van uw "
 "bericht was %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "Back-upbestand voor gebruiker %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr "De back-up wordt uit het bestand \"%s\" geladen."
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Geen gebruiker opgegeven; de back-upgebruiker wordt gebruikt."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr "%d regels in de back-up."
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d element in de back-up."
+msgstr[1] "%d elementen in de back-up."
index 450b7d4903c1193f0de428ae1ae72fa750d58458..bc874821c0436219e7e2c288bc56cecd20788ca8 100644 (file)
@@ -10,17 +10,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:24+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:27:41+0000\n"
 "Language-Team: Norwegian Nynorsk <http://translatewiki.net/wiki/Portal:nn>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nn\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-02 23:22:49+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -84,15 +84,22 @@ msgstr "Avatar-innstillingar"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 #, fuzzy
 msgctxt "BUTTON"
 msgid "Save"
@@ -125,6 +132,7 @@ msgstr "Dette emneord finst ikkje."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -137,14 +145,14 @@ msgstr "Dette emneord finst ikkje."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Brukaren finst ikkje."
@@ -161,7 +169,7 @@ msgstr "%s med vener"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s med vener"
@@ -211,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -310,11 +320,12 @@ msgstr "Kan ikkje oppdatera brukar."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -328,11 +339,13 @@ msgstr "Kan ikkje lagra profil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -511,43 +524,53 @@ msgstr "Kan ikkje oppdatera brukar."
 msgid "Could not find target user."
 msgstr "Kan ikkje oppdatera brukar."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Kallenamn må berre ha små bokstavar og nummer, ingen mellomrom."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Ikkje eit gyldig brukarnamn."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Heimesida er ikkje ei gyldig internettadresse."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -556,10 +579,14 @@ msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -567,9 +594,11 @@ msgstr[0] "Plassering er for lang (maksimalt 255 teikn)."
 msgstr[1] "Plassering er for lang (maksimalt 255 teikn)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -577,7 +606,12 @@ msgstr "Plassering er for lang (maksimalt 255 teikn)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -593,15 +627,19 @@ msgstr "Ugyldig merkelapp: %s"
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, fuzzy, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -710,21 +748,21 @@ msgid "Request token already authorized."
 msgstr "Du tingar ikkje oppdateringar til den profilen."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Der var eit problem med sesjonen din. Vennlegst prøv på nytt."
 
@@ -741,17 +779,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "databasefeil ved innsetjing av skigardmerkelapp (#merkelapp): %s"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Uventa skjemasending."
 
@@ -795,9 +835,10 @@ msgstr "Konto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -891,21 +932,22 @@ msgstr "Du kan ikkje sletta statusen til ein annan brukar."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Denne notisen finst ikkje."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 #, fuzzy
 msgid "Cannot repeat your own notice."
 msgstr "Kan ikkje slå på notifikasjon."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Kan ikkje sletta notisen."
 
@@ -927,7 +969,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -942,7 +985,7 @@ msgstr "Fann ikkje API-metode."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1048,106 +1091,141 @@ msgstr "API-metoden er ikkje ferdig enno."
 msgid "User not found."
 msgstr "Fann ikkje API-metode."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Dette emneord finst ikkje."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Ingen kallenamn."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Ingen storleik."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ugyldig storleik."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Brukarbilete"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Du kan lasta opp ein logo for gruppa."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Brukaren har inga profil."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatar-innstillingar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Forhandsvis"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Slett"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Last opp"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Skaler"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 #, fuzzy
 msgid "No file uploaded."
 msgstr "Ingen vald profil."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Velg eit utvalg av bildet som vil blir din avatar."
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Fant ikkje igjen fil data."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Lasta opp brukarbilete."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Feil ved oppdatering av brukarbilete."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 #, fuzzy
 msgid "Avatar deleted."
 msgstr "Lasta opp brukarbilete."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Du tingar allereie oppdatering frå desse brukarane:"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Blokker brukaren"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1160,8 +1238,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1169,7 +1247,7 @@ msgstr "Merknad"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 #, fuzzy
 msgid "Do not block this user"
 msgstr "Lås opp brukaren"
@@ -1180,8 +1258,8 @@ msgstr "Lås opp brukaren"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 #, fuzzy
 msgctxt "BUTTON"
@@ -1190,143 +1268,173 @@ msgstr "Jau"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Blokkér denne brukaren"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Lagring av informasjon feila."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Denne gruppa finst ikkje."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, fuzzy, php-format
 msgid "%s blocked profiles"
 msgstr "Brukarprofil"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, fuzzy, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%s med vener, side %d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 #, fuzzy
 msgid "A list of the users blocked from joining this group."
 msgstr "Ei liste over brukarane i denne gruppa."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 #, fuzzy
 msgid "Unblock user from group"
 msgstr "De-blokkering av brukar feila."
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Lås opp"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Lås opp brukaren"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Svar til %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Ingen stadfestingskode."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Fann ikkje stadfestingskode."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Den godkjenningskoden er ikkje for deg!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, fuzzy, php-format
 msgid "Unrecognized address type %s."
 msgstr "Ukjend adressetype %s"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Den addressa har alt blitt bekrefta."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Kan ikkje oppdatera brukar."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Kan ikkje sletta e-postgodkjenning."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Godkjent epostadresse."
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Addressa \"%s\" har blitt bekrefta for din konto."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 #, fuzzy
 msgid "Conversation"
 msgstr "Stadfestingskode"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notisar"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Du må være innlogga for å melde deg ut av ei gruppe."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Fann ikkje stadfestingskode."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 #, fuzzy
 msgid "You are not the owner of this application."
@@ -1335,16 +1443,19 @@ msgstr "Du er ikkje medlem av den gruppa."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Det var eit problem med sesjons billetten din."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 #, fuzzy
 msgid "Delete application"
 msgstr "Denne notisen finst ikkje."
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1352,13 +1463,13 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 #, fuzzy
 msgid "Do not delete this application"
 msgstr "Kan ikkje sletta notisen."
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 #, fuzzy
 msgid "Delete this application"
 msgstr "Slett denne notisen"
@@ -1396,13 +1507,14 @@ msgstr "Kann ikkje oppdatera gruppa."
 msgid "Deleted group %s"
 msgstr "%1$s sin status på %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Slett"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1422,22 +1534,27 @@ msgstr "Kan ikkje sletta notisen."
 msgid "Delete this group"
 msgstr "Slett denne notisen"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Ikkje logga inn"
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Kan ikkje sletta notisen."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 #, fuzzy
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
@@ -1446,22 +1563,25 @@ msgstr ""
 "Du er i ferd med å sletta ei melding.  Når den fyrst er sletta, kann du "
 "ikkje finne ho att."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Slett notis"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Sikker på at du vil sletta notisen?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 #, fuzzy
 msgid "Do not delete this notice"
 msgstr "Kan ikkje sletta notisen."
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Slett denne notisen"
 
@@ -1554,12 +1674,14 @@ msgstr "Statusmelding"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr ""
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr ""
 
@@ -1571,42 +1693,50 @@ msgid ""
 msgstr "Du kan lasta opp ein logo for gruppa."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr ""
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr ""
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr ""
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr ""
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 #, fuzzy
 msgid "Change colours"
 msgstr "Endra passordet ditt"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Innhald"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 #, fuzzy
 msgid "Sidebar"
 msgstr "Søk"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Tekst"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 #, fuzzy
 msgid "Links"
 msgstr "Logg inn"
@@ -1619,29 +1749,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr ""
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr ""
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Lagra"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr ""
 
@@ -1689,9 +1821,9 @@ msgid "Name is required."
 msgstr "Samme som passord over. Påkrevd."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1723,7 +1855,7 @@ msgid "Organization is required."
 msgstr ""
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Plassering er for lang (maksimalt 255 teikn)."
@@ -1748,50 +1880,50 @@ msgstr ""
 msgid "Could not update application."
 msgstr "Kann ikkje oppdatera gruppa."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Rediger %s gruppa"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Du må være logga inn for å lage ei gruppe."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Du må være logga inn for å lage ei gruppe."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Bruk dette skjemaet for å redigere gruppa"
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Plassering er for lang (maksimalt 255 teikn)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, fuzzy, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ugyldig merkelapp: %s"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Kann ikkje oppdatera gruppa."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 #, fuzzy
 msgid "Could not create aliases."
 msgstr "Kunne ikkje lagre favoritt."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Lagra innstillingar."
 
@@ -1988,6 +2120,12 @@ msgstr "Ingen ventande stadfesting å avbryta."
 msgid "That is the wrong email address."
 msgstr "Det er feil lynmeldings addresse."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Kan ikkje sletta e-postgodkjenning."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2065,7 +2203,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s's favoritt meldingar"
@@ -2171,19 +2309,23 @@ msgstr "Du kan ikkje lengre legge inn notisar på denne sida."
 msgid "User already has this role."
 msgstr "Brukaren har inga profil."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Ingen vald profil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Fann ingen profil med den IDen."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 #, fuzzy
 msgid "No group specified."
@@ -2252,8 +2394,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 #, fuzzy
 msgid "Couldn't update your design."
 msgstr "Kan ikkje oppdatera brukar."
@@ -2272,6 +2416,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "Du kan lasta opp ein logo for gruppa."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Last opp"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Skaler"
+
 #: actions/grouplogo.php:365
 #, fuzzy
 msgid "Pick a square area of the image to be the logo."
@@ -2407,16 +2559,19 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 #, fuzzy
 msgid "User is not blocked from group."
 msgstr "Brukar har blokkert deg."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Feil ved fjerning av blokka."
 
@@ -2504,7 +2659,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publiser ein MicroID for Jabber/GTalk addressene mine"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Lagra brukarval."
 
@@ -2628,10 +2783,9 @@ msgstr[1] "Du tingar allereie oppdatering frå desse brukarane:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2812,8 +2966,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Plassering er for lang (maksimalt 255 teikn)."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2992,29 +3147,21 @@ msgstr "Du må være logga inn for å lage ei gruppe."
 msgid "Use this form to register a new application."
 msgstr "Bruk dette skjemaet for å lage ein ny gruppe."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr ""
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Plassering er for lang (maksimalt 255 teikn)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 #, fuzzy
 msgid "Could not create application."
 msgstr "Kunne ikkje lagre favoritt."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Ny gruppe"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Bruk dette skjemaet for å lage ein ny gruppe."
@@ -3024,14 +3171,14 @@ msgid "New message"
 msgstr "Ny melding"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Du kan ikkje sende melding til denne brukaren."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Ingen innhald."
 
@@ -3040,7 +3187,7 @@ msgid "No recipient specified."
 msgstr "Ingen mottakar spesifisert."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3054,12 +3201,12 @@ msgstr "Melding"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, fuzzy, php-format
 msgid "Direct message to %s sent."
 msgstr "Direkte melding til %s sendt"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax feil"
 
@@ -3067,17 +3214,7 @@ msgstr "Ajax feil"
 msgid "New notice"
 msgstr "Ny notis"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, fuzzy, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Du kan lasta opp ein logo for gruppa."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Melding lagra"
 
@@ -3213,25 +3350,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Brukaren har inga profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s sin status på %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "Kopla til"
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Ikkje eit støtta dataformat."
@@ -3244,37 +3381,47 @@ msgstr "Søk etter folk"
 msgid "Notice Search"
 msgstr "Notissøk"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Avatar-innstillingar"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Velikehald andre innstillingar"
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Den automatisk forkortingstenesta du vil bruke"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 #, fuzzy
 msgid "View profile designs"
 msgstr "Profilinnstillingar"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Adressa til forkortingstenesta er for lang (maksimalt 50 teikn)."
 
 #: actions/otp.php:69
@@ -3723,8 +3870,9 @@ msgstr ""
 "1-64 små bokstavar eller tal, ingen punktum (og liknande) eller mellomrom"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Fullt namn"
@@ -3765,9 +3913,10 @@ msgid "Bio"
 msgstr "Om meg"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Plassering"
@@ -4103,7 +4252,8 @@ msgid "Unexpected password reset."
 msgstr "Uventa passordnullstilling."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Passord må vera 6 tekn eller meir."
 
 #: actions/recoverpassword.php:369
@@ -4352,7 +4502,7 @@ msgid "Repeated!"
 msgstr "Lag"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Svar til %s"
@@ -4487,11 +4637,12 @@ msgstr "Paginering"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Beskriving"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistikk"
@@ -4509,6 +4660,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Slett"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4593,77 +4749,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s gruppe"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupper, side %d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Gruppe profil"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Merknad"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Gruppe handlingar"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Straum for vener av %s"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Straum for vener av %s"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Notisstraum for %s"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "Utboks for %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Medlemmar"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Ingen)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Alle medlemmar"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Framheva"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Medlemmar"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4673,7 +4858,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4684,25 +4872,32 @@ msgstr ""
 "**%s** er ei brukargruppe på %%%%site.name%%%%, ei [mikroblogging](http://en."
 "wikipedia.org/wiki/Micro-blogging)-teneste"
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 #, fuzzy
 msgid "Admins"
 msgstr "Administrator"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Kan ikkje finne den meldinga."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Kun sendaren og mottakaren kan lese denne meldinga."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Melding til %1$s på %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Melding fra %1$s på %2$s"
@@ -4712,60 +4907,84 @@ msgstr "Melding fra %1$s på %2$s"
 msgid "Notice deleted."
 msgstr "Melding lagra"
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, fuzzy, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s"
+msgstr "Grupper, side %d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
 msgstr "Notisar merka med %s"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "Grupper, side %d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Straum for vener av %s"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Straum for vener av %s"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Straum for vener av %s"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, fuzzy, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Notisstraum for %s"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "Utboks for %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4774,7 +4993,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4784,7 +5005,8 @@ msgstr ""
 "**%s** har ein konto på %%%%site.name%%%%, ei [mikroblogging](http://en."
 "wikipedia.org/wiki/Micro-blogging)-teneste"
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "Svar til %s"
@@ -4900,35 +5122,42 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 #, fuzzy
 msgid "Site Notice"
 msgstr "Statusmelding"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "Ny melding"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Klarte ikkje å lagra Twitter-innstillingane dine!"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "Statusmelding"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "Statusmelding"
@@ -5149,12 +5378,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Avatar-innstillingar"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Du tingar ikkje oppdateringar til den profilen."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Kunne ikkje lagra abonnement."
 
@@ -5389,82 +5620,99 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 #, fuzzy
 msgctxt "TITLE"
 msgid "User"
 msgstr "Brukar"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 #, fuzzy
 msgid "New users"
 msgstr "Invitér nye brukarar"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr ""
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Alle tingingar"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "Automatisk ting notisane til dei som tingar mine (best for ikkje-menneskje)"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 #, fuzzy
 msgid "Invitations"
 msgstr "Invitasjon(er) sendt"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 #, fuzzy
 msgid "Invitations enabled"
 msgstr "Invitasjon(er) sendt"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5575,12 +5823,14 @@ msgstr "Kan ikkje lesa brukarbilete-URL «%s»"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Feil biletetype for '%s'"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Profilinnstillingar"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5666,7 +5916,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 #, fuzzy
 msgid "Version"
 msgstr "Personleg"
@@ -5701,29 +5951,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Ugyldig filnamn."
 
@@ -5857,40 +6116,47 @@ msgid "Problem saving notice."
 msgstr "Eit problem oppstod ved lagring av notis."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "Eit problem oppstod ved lagring av notis."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Kunne ikkje lagra abonnement."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5964,32 +6230,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Melding til %1$s på %2$s"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Kunne ikkje laga gruppa."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Kunne ikkje laga gruppa."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Kunne ikkje bli med i gruppa."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 #, fuzzy
 msgid "Could not save local group info."
 msgstr "Kunne ikkje lagra abonnement."
@@ -6041,50 +6307,56 @@ msgstr "%1$s (%2$s)"
 msgid "Untitled page"
 msgstr "Ingen tittel"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navigasjon for hovudsida"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Personleg profil og oversyn over vener"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 #, fuzzy
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personleg"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Endra passordet ditt"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Klarte ikkje å omdirigera til tenaren: %s"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Kopla til"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
@@ -6092,85 +6364,85 @@ msgstr "Navigasjon for hovudsida"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 #, fuzzy
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrator"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, fuzzy, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Inviter vennar og kollega til å bli med deg på %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 #, fuzzy
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Invitér"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Logg inn "
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Logo"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Opprett ei ny gruppe"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 #, fuzzy
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrér"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Logg inn "
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 #, fuzzy
 msgctxt "MENU"
 msgid "Login"
 msgstr "Logg inn"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Hjelp"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Hjelp"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Søk etter folk eller innhald"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 #, fuzzy
 msgctxt "MENU"
 msgid "Search"
@@ -6178,68 +6450,69 @@ msgstr "Søk"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Statusmelding"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Lokale syningar"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Sidenotis"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Andrenivås side navigasjon"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Hjelp"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Om"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "OSS"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Personvern"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Kjeldekode"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 #, fuzzy
 msgid "Badge"
 msgstr "Dult"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNets programvarelisens"
 
@@ -6247,7 +6520,7 @@ msgstr "StatusNets programvarelisens"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6257,7 +6530,7 @@ msgstr ""
 "broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** er ei mikrobloggingteneste."
@@ -6266,7 +6539,7 @@ msgstr "**%%site.name%%** er ei mikrobloggingteneste."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6278,51 +6551,51 @@ msgstr ""
 "org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 #, fuzzy
 msgid "Site content license"
 msgstr "StatusNets programvarelisens"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginering"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "« Etter"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Før »"
 
@@ -6411,7 +6684,7 @@ msgid "User configuration"
 msgstr "SMS bekreftelse"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Brukar"
 
@@ -6684,7 +6957,7 @@ msgid "AJAX error"
 msgstr "Ajax feil"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Kommandoen utførd"
 
@@ -6701,7 +6974,7 @@ msgstr "Fann ingen profil med den IDen."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "Brukaren har ikkje siste notis"
@@ -6768,6 +7041,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6805,130 +7086,134 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Melding for lang - maksimum 140 teikn, du skreiv %d"
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Melding for lang - maksimum 140 teikn, du skreiv %d"
+msgstr[1] "Melding for lang - maksimum 140 teikn, du skreiv %d"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Ein feil oppstod ved sending av direkte melding."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Melding lagra"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Feil ved å setja brukar."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Melding for lang - maksimum 140 teikn, du skreiv %d"
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Melding for lang - maksimum 140 teikn, du skreiv %d"
+msgstr[1] "Melding for lang - maksimum 140 teikn, du skreiv %d"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "Svar på denne notisen"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Eit problem oppstod ved lagring av notis."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 #, fuzzy
 msgid "Specify the name of the user to subscribe to."
 msgstr "Spesifer namnet til brukaren du vil tinge"
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Du tingar ikkje oppdateringar til den profilen."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 #, fuzzy
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Spesifer namnet til brukar du vil fjerne tinging på"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Kommando ikkje implementert."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notifikasjon av."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Kan ikkje skru av notifikasjon."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notifikasjon på."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Kan ikkje slå på notifikasjon."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "Du tingar ikkje oppdateringar til den profilen."
@@ -6936,7 +7221,7 @@ msgstr "Du tingar ikkje oppdateringar til den profilen."
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Du tingar allereie oppdatering frå desse brukarane:"
@@ -6944,7 +7229,7 @@ msgstr[1] "Du tingar allereie oppdatering frå desse brukarane:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Kan ikkje tinga andre til deg."
@@ -6952,7 +7237,7 @@ msgstr "Kan ikkje tinga andre til deg."
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Kan ikkje tinga andre til deg."
@@ -6960,7 +7245,7 @@ msgstr[1] "Kan ikkje tinga andre til deg."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 #, fuzzy
 msgid "You are not a member of any groups."
 msgstr "Du er ikkje medlem av den gruppa."
@@ -6968,14 +7253,14 @@ msgstr "Du er ikkje medlem av den gruppa."
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Du er ikkje medlem av den gruppa."
 msgstr[1] "Du er ikkje medlem av den gruppa."
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7082,23 +7367,39 @@ msgstr ""
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Last opp fil"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "Du kan lasta opp ein logo for gruppa."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr ""
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
 msgstr ""
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Avbryt"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -7126,7 +7427,8 @@ msgstr ""
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7166,7 +7468,8 @@ msgstr ""
 "1-64 små bokstavar eller tal, ingen punktum (og liknande) eller mellomrom"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL til heimesida eller bloggen for gruppa eller emnet"
 
 #: lib/groupeditform.php:168
@@ -7176,18 +7479,27 @@ msgstr "Beskriv gruppa eller emnet med 140 teikn"
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Beskriv gruppa eller emnet med 140 teikn"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Beskriv gruppa eller emnet med 140 teikn"
+msgstr[1] "Beskriv gruppa eller emnet med 140 teikn"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Kvar er du, t.d. «Stavanger, Rogaland, Noreg»"
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7287,39 +7599,57 @@ msgstr "Denne sida er ikkje tilgjengeleg i nokon mediatype du aksepterer."
 msgid "Unsupported image file format."
 msgstr "Støttar ikkje bileteformatet."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Du kan lasta opp ein logo for gruppa."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Hallvegs opplasta."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Systemfeil ved opplasting av fil."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Korrupt bilete."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Mista fila vår."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Ukjend fil type"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr ""
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr ""
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7524,7 +7854,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr ""
@@ -7535,7 +7865,7 @@ msgstr ""
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7557,7 +7887,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7567,7 +7897,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7578,7 +7908,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7636,7 +7966,7 @@ msgstr "Beklager, det er ikkje di inngåande epost addresse."
 msgid "Sorry, no incoming email allowed."
 msgstr "Beklager, inngåande epost er ikkje tillatt."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Støttar ikkje bileteformatet."
@@ -7698,7 +8028,7 @@ msgstr "Kunne ikkje slette favoritt."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7707,7 +8037,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7853,31 +8183,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Kan ikkje leggja til ny tinging."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personleg"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Svar"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favorittar"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Innboks"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Dine innkomande meldinger"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Utboks"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Dine sende meldingar"
 
@@ -7991,17 +8321,18 @@ msgid "Sandbox this user"
 msgstr "Lås opp brukaren"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 #, fuzzy
 msgid "Search site"
 msgstr "Søk"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8085,6 +8416,12 @@ msgstr ""
 msgid "None"
 msgstr "Ingen"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ugyldig filnamn."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8094,8 +8431,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Feil ved oppdatering av brukarbilete."
@@ -8106,29 +8443,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Feil ved fjerning av blokka."
 
@@ -8136,6 +8476,13 @@ msgstr "Feil ved fjerning av blokka."
 msgid "Top posters"
 msgstr "Med flest meldingar"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Lås opp"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8308,17 +8655,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Melding for lang - maksimum 140 teikn, du skreiv %d"
 msgstr[1] "Melding for lang - maksimum 140 teikn, du skreiv %d"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Ingen vald profil."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 633fec590d7a6c3d0f50325f1a053495bc503e8a..d5fcfd8a69f1052ac49a74b5411784ba21bf8355 100644 (file)
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:27+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:39+0000\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n"
 "MIME-Version: 1.0\n"
@@ -20,11 +20,11 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && "
 "(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pl\n"
 "X-Message-Group: #out-statusnet-core\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -81,15 +81,22 @@ msgstr "Zapisz ustawienia dostępu"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Zapisz"
@@ -120,6 +127,7 @@ msgstr "Nie ma takiej strony."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -132,14 +140,14 @@ msgstr "Nie ma takiej strony."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Brak takiego użytkownika."
@@ -156,7 +164,7 @@ msgstr "%1$s i przyjaciele, strona %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "Użytkownik %s i przyjaciele"
@@ -212,7 +220,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -311,11 +321,12 @@ msgstr "Nie można zaktualizować użytkownika."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -328,11 +339,13 @@ msgstr "Nie można zapisać profilu."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -513,43 +526,53 @@ msgstr "Nie można określić użytkownika źródłowego."
 msgid "Could not find target user."
 msgstr "Nie można odnaleźć użytkownika docelowego."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Pseudonim może zawierać tylko małe litery i cyfry, bez spacji."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Pseudonim jest już używany. Spróbuj innego."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "To nie jest prawidłowy pseudonim."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Strona domowa nie jest prawidłowym adresem URL."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "Imię i nazwisko jest za długie (maksymalnie 255 znaków)."
@@ -557,10 +580,14 @@ msgstr "Imię i nazwisko jest za długie (maksymalnie 255 znaków)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -569,22 +596,29 @@ msgstr[1] "Opis jest za długi (maksymalnie %d znaki)."
 msgstr[2] "Opis jest za długi (maksymalnie %d znaków)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "Położenie jest za długie (maksymalnie 255 znaków)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
-#, fuzzy, php-format
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
+#, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
-msgstr[0] "Za dużo aliasów. Maksymalnie %d."
-msgstr[1] "Za dużo aliasów. Maksymalnie %d."
-msgstr[2] "Za dużo aliasów. Maksymalnie %d."
+msgstr[0] "Za dużo aliasów. Maksymalnie dozwolony jest %d."
+msgstr[1] "Za dużo aliasów. Maksymalnie dozwolone są %d."
+msgstr[2] "Za dużo aliasów. Maksymalnie dozwolone jest %d."
 
 #. TRANS: Client error shown when providing an invalid alias during group creation.
 #. TRANS: %s is the invalid alias.
@@ -595,15 +629,19 @@ msgstr "Nieprawidłowy alias: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias \"%s\" jest już używany. Spróbuj innego."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias nie może być taki sam jak pseudonim."
 
@@ -706,21 +744,21 @@ msgid "Request token already authorized."
 msgstr "Token żądania został już upoważniony."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Wystąpił problem z tokenem sesji. Spróbuj ponownie."
 
@@ -735,17 +773,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Błąd bazy danych podczas wprowadzania oauth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Nieoczekiwane wysłanie formularza."
 
@@ -762,15 +802,15 @@ msgstr "Zezwolić czy odmówić dostęp"
 #. TRANS: User notification of external application requesting account access.
 #. TRANS: %3$s is the access type requested, %4$s is the StatusNet sitename.
 #: actions/apioauthauthorize.php:425
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "An application would like the ability to <strong>%3$s</strong> your %4$s "
 "account data. You should only give access to your %4$s account to third "
 "parties you trust."
 msgstr ""
-"Aplikacja <strong>%1$s</strong> autorstwa <strong>%2$s</strong> chciałaby "
-"uzyskać możliwość <strong>%3$s</strong> danych konta %4$s. Dostęp do konta %4"
-"$s powinien być udostępniany tylko zaufanym osobom trzecim."
+"Aplikacja chciałaby uzyskać możliwość <strong>%3$s</strong> danych konta %4"
+"$s. Dostęp do konta %4$s powinien być udostępniany tylko zaufanym osobom "
+"trzecim."
 
 #. TRANS: User notification of external application requesting account access.
 #. TRANS: %1$s is the application name requesting access, %2$s is the organisation behind the application,
@@ -794,9 +834,10 @@ msgstr "Konto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -847,26 +888,24 @@ msgstr "Token żądania %s został unieważniony."
 
 #. TRANS: Title of the page notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:621
-#, fuzzy
 msgid "You have successfully authorized the application"
-msgstr "Pomyślnie upoważniono %s."
+msgstr "Pomyślnie upoważniono aplikację"
 
 #. TRANS: Message notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:625
-#, fuzzy
 msgid ""
 "Please return to the application and enter the following security code to "
 "complete the process."
 msgstr ""
-"Proszę wrócić do %s i podać następujący kod bezpieczeństwa, aby ukończyć "
-"proces."
+"Proszę wrócić do aplikacji i podać następujący kod bezpieczeństwa, aby "
+"ukończyć proces."
 
 #. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
 #: actions/apioauthauthorize.php:632
-#, fuzzy, php-format
+#, php-format
 msgid "You have successfully authorized %s"
-msgstr "Pomyślnie upoważniono %s."
+msgstr "Pomyślnie upoważniono %s"
 
 #. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
@@ -892,20 +931,21 @@ msgstr "Nie można usuwać stanów innych użytkowników."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nie ma takiego wpisu."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Nie można powtórzyć własnego wpisu."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Już powtórzono ten wpis."
 
@@ -926,7 +966,8 @@ msgstr "Klient musi dostarczać parametr \"stan\" z wartością."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -941,7 +982,7 @@ msgstr "Nie odnaleziono wpisu nadrzędnego."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -969,16 +1010,16 @@ msgstr "%1$s/ulubione wpisy od %2$s"
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user's full name,
 #. TRANS: %3$s is a user nickname.
 #: actions/apitimelinefavorites.php:120
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s updates favorited by %2$s / %3$s."
-msgstr "Użytkownik %1$s aktualizuje ulubione według %2$s/%2$s."
+msgstr "Użytkownik %1$s aktualizuje ulubione według %2$s/%3$s."
 
 #. TRANS: Server error displayed when generating an Atom feed fails.
 #. TRANS: %s is the error.
 #: actions/apitimelinegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not generate feed for group - %s"
-msgstr "Nie można usunąć grupy %s."
+msgstr "Nie można utworzyć kanału dla grupy - %s"
 
 #. TRANS: Title for timeline of most recent mentions of a user.
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname.
@@ -1009,9 +1050,8 @@ msgstr "Użytkownik %s aktualizuje od każdego."
 
 #. TRANS: Server error displayed calling unimplemented API method for 'retweeted by me'.
 #: actions/apitimelineretweetedbyme.php:71
-#, fuzzy
 msgid "Unimplemented."
-msgstr "Niezaimplementowana metoda."
+msgstr "Niezaimplementowane."
 
 #. TRANS: Title for Atom feed "repeated to me". %s is the user nickname.
 #: actions/apitimelineretweetedtome.php:108
@@ -1050,104 +1090,136 @@ msgstr "Metoda API jest w trakcie tworzenia."
 msgid "User not found."
 msgstr "Nie odnaleziono strony."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Nie ma takiego załącznika."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Brak pseudonimu."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Brak rozmiaru."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Nieprawidłowy rozmiar."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Awatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Można wysłać osobisty awatar. Maksymalny rozmiar pliku to %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Użytkownik bez odpowiadającego profilu."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Ustawienia awatara"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Oryginał"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Podgląd"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Usuń"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Wyślij"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Przytnij"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Nie wysłano pliku."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Wybierz kwadratowy obszar obrazu do awatara"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Utracono dane pliku."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Zaktualizowano awatar."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Zaktualizowanie awatara nie powiodło się."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Usunięto awatar."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Użytkownik jest już zablokowany."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Zablokuj użytkownika"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1163,8 +1235,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1172,7 +1244,7 @@ msgstr "Nie"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Nie blokuj tego użytkownika"
 
@@ -1182,8 +1254,8 @@ msgstr "Nie blokuj tego użytkownika"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1191,140 +1263,168 @@ msgstr "Tak"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Zablokuj tego użytkownika"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Zapisanie informacji o blokadzie nie powiodło się."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Nie ma takiej grupy."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s zablokowane profile"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s zablokowane profile, strona %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Lista użytkowników zablokowanych w tej grupie."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Odblokuj użytkownika w tej grupie"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Odblokuj"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Odblokuj tego użytkownika"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Wyślij do %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Brak kodu potwierdzającego."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Nie odnaleziono kodu potwierdzającego."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Ten kod potwierdzający nie jest przeznaczony dla ciebie."
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Nierozpoznany typ adresu %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Ten adres został już potwierdzony."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Nie można zaktualizować użytkownika."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Nie można usunąć potwierdzenia adresu e-mail."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
+msgstr "Nie można usunąć potwierdzenia adresu."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Potwierdź adres"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Adres \"%s\" został potwierdzony dla twojego konta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Rozmowa"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Wpisy"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Musisz być zalogowany, aby usunąć aplikację."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Nie odnaleziono aplikacji."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Nie jesteś właścicielem tej aplikacji."
@@ -1332,15 +1432,18 @@ msgstr "Nie jesteś właścicielem tej aplikacji."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Wystąpił problem z tokenem sesji."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Usuń aplikację"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1350,12 +1453,12 @@ msgstr ""
 "danych, w tym wszystkie istniejące połączenia użytkowników."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Nie usuwaj tej aplikacji"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Usuń tę aplikację"
 
@@ -1389,12 +1492,13 @@ msgstr "Nie można usunąć grupy %s."
 msgid "Deleted group %s"
 msgstr "Usunięto grupę %s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Usuń grupę"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1415,22 +1519,27 @@ msgstr "Nie usuwaj tej grupy"
 msgid "Delete this group"
 msgstr "Usuń tę grupę"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Niezalogowany."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Nie można usunąć tego wpisu."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1438,21 +1547,24 @@ msgstr ""
 "Za chwilę wpis zostanie trwale usunięty. Kiedy to się stanie, nie będzie "
 "mogło zostać cofnięte."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Usuń wpis"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Jesteś pewien, że chcesz usunąć ten wpis?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Nie usuwaj tego wpisu"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Usuń ten wpis"
 
@@ -1536,12 +1648,14 @@ msgstr "Własny motyw"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Można wysłać własny motyw witryny StatusNet jako archiwum zip."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Zmień obraz tła"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Tło"
 
@@ -1553,40 +1667,48 @@ msgid ""
 msgstr "Można wysłać obraz tła dla witryny. Maksymalny rozmiar pliku to %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Włączone"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Wyłączone"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Włącz lub wyłącz obraz tła."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Kafelkowy obraz tła"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Zmień kolory"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Treść"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Panel boczny"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Tekst"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Odnośniki"
 
@@ -1598,29 +1720,31 @@ msgstr "Zaawansowane"
 msgid "Custom CSS"
 msgstr "Własny plik CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Użycie domyślnych"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Przywróć domyślny wygląd"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Przywróć domyślne ustawienia"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Zapisz"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Zapisz wygląd"
 
@@ -1664,8 +1788,8 @@ msgid "Name is required."
 msgstr "Nazwa jest wymagana."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Nazwa jest za długa (maksymalnie 255 znaków)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1694,7 +1818,7 @@ msgid "Organization is required."
 msgstr "Organizacja jest wymagana."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organizacja jest za długa (maksymalnie 255 znaków)."
 
@@ -1717,49 +1841,49 @@ msgstr "Adres zwrotny URL jest nieprawidłowy."
 msgid "Could not update application."
 msgstr "Nie można zaktualizować aplikacji."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Zmodyfikuj grupę %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Musisz być zalogowany, aby utworzyć grupę."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Musisz być administratorem, aby zmodyfikować grupę."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Użyj tego formularza, aby zmodyfikować grupę."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Opis jest za długi (maksymalnie %d znaków)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Za dużo aliasów. Maksymalnie %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Nieprawidłowy alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Nie można zaktualizować grupy."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Nie można utworzyć aliasów."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Zapisano opcje."
 
@@ -1952,6 +2076,12 @@ msgstr "Brak oczekujących potwierdzeń do anulowania."
 msgid "That is the wrong email address."
 msgstr "To jest błędny adres e-mail."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Nie można usunąć potwierdzenia adresu e-mail."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2035,7 +2165,7 @@ msgstr ""
 "pierwszym, który doda wpis do ulubionych."
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Ulubione wpisy użytkownika %s"
@@ -2132,19 +2262,23 @@ msgstr "Nie można udzielić rol użytkownikom na tej witrynie."
 msgid "User already has this role."
 msgstr "Użytkownik ma już tę rolę."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Nie podano profilu."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Brak profilu o tym identyfikatorze."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Nie podano grupy."
@@ -2208,8 +2342,10 @@ msgid ""
 "palette of your choice."
 msgstr "Dostosuj wygląd grupy za pomocą wybranego obrazu tła i palety kolorów."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Nie można zaktualizować wyglądu."
 
@@ -2227,6 +2363,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "Można wysłać obraz logo grupy. Maksymalny rozmiar pliku to %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Wyślij"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Przytnij"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Wybierz kwadratowy obszar obrazu, który będzie logo."
@@ -2369,15 +2513,18 @@ msgstr ""
 "Dlaczego nie [zarejestrujesz konta](%%action.register%%) i sam [utworzysz "
 "grupę](%%action.newgroup%%)."
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Tylko administrator może odblokowywać członków grupy."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Użytkownik nie został zablokowany w grupie."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Błąd podczas usuwania blokady."
 
@@ -2466,7 +2613,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Opublikuj MicroID adresu Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Zapisano preferencje."
 
@@ -2590,10 +2737,9 @@ msgstr[2] "Jesteś już subskrybowany do tych użytkowników:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2782,7 +2928,7 @@ msgstr ""
 "zastrzeżone\"."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Nieprawidłowy tytuł licencji. Maksymalna długość to 255 znaków."
 
 #: actions/licenseadminpanel.php:168
@@ -2956,26 +3102,20 @@ msgstr "Musisz być zalogowany, aby zarejestrować aplikację."
 msgid "Use this form to register a new application."
 msgstr "Użyj tego formularza, aby zarejestrować aplikację."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Nazwa jest za długa (maksymalnie 255 znaków)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Źródłowy adres URL jest wymagany."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organizacja jest za długa (maksymalnie 255 znaków)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Nie można utworzyć aplikacji."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Nowa grupa"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Użyj tego formularza, aby utworzyć nową grupę."
@@ -2985,14 +3125,14 @@ msgid "New message"
 msgstr "Nowa wiadomość"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Nie można wysłać wiadomości do tego użytkownika."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Brak treści."
 
@@ -3001,7 +3141,7 @@ msgid "No recipient specified."
 msgstr "Nie podano odbiorcy."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Nie wysyłaj wiadomości do siebie, po prostu powiedz to sobie po cichu."
@@ -3012,12 +3152,12 @@ msgstr "Wysłano wiadomość"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Wysłano bezpośrednią wiadomość do użytkownika %s."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Błąd AJAX"
 
@@ -3025,17 +3165,7 @@ msgstr "Błąd AJAX"
 msgid "New notice"
 msgstr "Nowy wpis"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Wpis jest za długi. Maksymalna długość wynosi %d znaków."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Maksymalny rozmiar wpisu wynosi %d znaków, w tym adres URL załącznika."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Wysłano wpis"
 
@@ -3177,25 +3307,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Wpis nie posiada profilu."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Stan użytkownika %1$s na %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Typ zawartości %s jest nieobsługiwany."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Dozwolone są tylko adresy URL %s przez zwykły protokół HTTP."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "To nie jest obsługiwany format danych."
@@ -3208,36 +3338,45 @@ msgstr "Wyszukiwanie osób"
 msgid "Notice Search"
 msgstr "Wyszukiwanie wpisów"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Inne ustawienia"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Zarządzaj różnymi innymi opcjami."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (wolna usługa)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Skracanie adresów URL za pomocą"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Używana automatyczna usługa skracania."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Wyświetl ustawienia wyglądu profilu"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Wyświetl lub ukryj ustawienia wyglądu profilu."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Adres URL usługi skracania jest za długi (maksymalnie 50 znaków)."
 
 #: actions/otp.php:69
@@ -3664,8 +3803,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 małe litery lub liczby, bez spacji i znaków przestankowych."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Imię i nazwisko"
@@ -3705,9 +3845,10 @@ msgid "Bio"
 msgstr "O mnie"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Położenie"
@@ -4047,7 +4188,7 @@ msgid "Unexpected password reset."
 msgstr "Nieoczekiwane przywrócenie hasła."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+msgid "Password must be 6 characters or more."
 msgstr "Hasło musi mieć sześć lub więcej znaków."
 
 #: actions/recoverpassword.php:369
@@ -4290,7 +4431,7 @@ msgid "Repeated!"
 msgstr "Powtórzono."
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Odpowiedzi na %s"
@@ -4423,11 +4564,12 @@ msgstr "Organizacja"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Opis"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statystyki"
@@ -4445,6 +4587,11 @@ msgstr "Czynności aplikacji"
 msgid "Reset key & secret"
 msgstr "Przywrócenie klucza i sekretu"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Usuń"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informacje o aplikacji"
@@ -4538,77 +4685,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "To jest sposób na współdzielenie tego, co chcesz."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupa %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupa %1$s, strona %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Profil grupy"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "Adres URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Wpis"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Aliasy"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Działania grupy"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Kanał wpisów dla grupy %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Kanał wpisów dla grupy %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Kanał wpisów dla grupy %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF dla grupy %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Członkowie"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Brak)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Wszyscy członkowie"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Utworzono"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Członkowie"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4624,7 +4798,10 @@ msgstr ""
 "action.register%%%%), aby stać się częścią tej grupy i wiele więcej. "
 "([Przeczytaj więcej](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4637,24 +4814,31 @@ msgstr ""
 "narzędziu [StatusNet](http://status.net/). Jej członkowie dzielą się "
 "krótkimi wiadomościami o swoim życiu i zainteresowaniach. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administratorzy"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Nie ma takiej wiadomości."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Tylko nadawca i odbiorca mogą przeczytać tę wiadomość."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Wiadomość do użytkownika %1$s na %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Wiadomość od użytkownika %1$s na %2$s"
@@ -4663,48 +4847,68 @@ msgstr "Wiadomość od użytkownika %1$s na %2$s"
 msgid "Notice deleted."
 msgstr "Usunięto wpis."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s nadał etykietę %2$s"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
 #, php-format
-msgid " tagged %s"
-msgstr " ze znacznikiem %s"
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%1$s nadał etykietę %2$s, strona %3$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, strona %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Kanał wpisów dla %1$s ze znacznikiem %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Kanał wpisów dla %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Kanał wpisów dla %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Kanał wpisów dla %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF dla %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
-"To jest oś czasu dla użytkownika %1$s, ale %2$s nie nic jeszcze nie wysłał."
+"To jest oś czasu dla użytkownika %1$s, ale %1$s nie nic jeszcze nie wysłał."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4712,7 +4916,9 @@ msgstr ""
 "Widziałeś ostatnio coś interesującego? Nie wysłałeś jeszcze żadnych wpisów, "
 "teraz jest dobry czas, aby zacząć. :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4721,7 +4927,9 @@ msgstr ""
 "Można spróbować szturchnąć użytkownika %1$s lub [wysłać mu coś](%%%%action."
 "newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4735,7 +4943,9 @@ msgstr ""
 "obserwować wpisy użytkownika **%s** i wiele więcej. ([Przeczytaj więcej](%%%%"
 "doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4746,7 +4956,8 @@ msgstr ""
 "pl.wikipedia.org/wiki/Mikroblog) opartej na wolnym narzędziu [StatusNet]"
 "(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Powtórzenia %s"
@@ -4860,32 +5071,39 @@ msgstr ""
 "Ile czasu użytkownicy muszą czekać (w sekundach), aby ponownie wysłać to "
 "samo."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Wpis witryny"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Zmodyfikuj wiadomość witryny"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Nie można zapisać wpisu witryny."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Maksymalna długość wpisu witryny to 255 znaków."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Tekst wpisu witryny"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 "Tekst wpisu witryny (maksymalnie 255 znaków, można używać znaczników HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Zapisz wpis witryny"
 
@@ -5101,12 +5319,14 @@ msgstr "Migawki będą wysyłane na ten adres URL"
 msgid "Save snapshot settings"
 msgstr "Zapisz ustawienia migawki"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Nie jesteś subskrybowany do tego profilu."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Nie można zapisać subskrypcji."
 
@@ -5350,75 +5570,91 @@ msgstr ""
 "witryny \"%2$s\"."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Użytkownik"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Ustawienia użytkownika dla tej witryny StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Nieprawidłowe ograniczenie informacji o sobie. Musi być liczbowa."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Nieprawidłowy tekst powitania. Maksymalna długość to 255 znaków."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Nieprawidłowa domyślna subskrypcja: \"%1$s\" nie jest użytkownikiem."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Ograniczenie informacji o sobie"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Maksymalna długość informacji o sobie jako liczba znaków."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nowi użytkownicy"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Powitanie nowego użytkownika"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Tekst powitania nowych użytkowników (maksymalnie 255 znaków)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Domyślna subskrypcja"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Automatyczne subskrybowanie nowych użytkowników do tego użytkownika."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Zaproszenia"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Zaproszenia są włączone"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Czy zezwolić użytkownikom zapraszanie nowych użytkowników."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Zapisz ustawienia użytkownika"
 
@@ -5524,11 +5760,13 @@ msgstr "Nie można odczytać adresu URL awatara \"%s\"."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Błędny typ obrazu dla adresu URL awatara \"%s\"."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Wygląd profilu"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5628,7 +5866,7 @@ msgid "Plugins"
 msgstr "Wtyczki"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Wersja"
 
@@ -5661,34 +5899,56 @@ msgstr "Robin sądzi, że coś jest niemożliwe."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Żaden plik nie może być większy niż %1$d bajt, a wysłany plik miał %2$d "
+"bajty. Proszę spróbować wysłać mniejszą wersję."
+msgstr[1] ""
 "Żaden plik nie może być większy niż %1$d bajty, a wysłany plik miał %2$d "
 "bajty. Proszę spróbować wysłać mniejszą wersję."
+msgstr[2] ""
+"Żaden plik nie może być większy niż %1$d bajtów, a wysłany plik miał %2$d "
+"bajtów. Proszę spróbować wysłać mniejszą wersję."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Plik tej wielkości przekroczyłby przydział użytkownika wynoszący %d bajt."
+msgstr[1] ""
 "Plik tej wielkości przekroczyłby przydział użytkownika wynoszący %d bajty."
+msgstr[2] ""
+"Plik tej wielkości przekroczyłby przydział użytkownika wynoszący %d bajtów."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Plik tej wielkości przekroczyłby miesięczny przydział użytkownika wynoszący %"
+"d bajt."
+msgstr[1] ""
 "Plik tej wielkości przekroczyłby miesięczny przydział użytkownika wynoszący %"
 "d bajty."
+msgstr[2] ""
+"Plik tej wielkości przekroczyłby miesięczny przydział użytkownika wynoszący %"
+"d bajtów."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nieprawidłowa nazwa pliku."
 
@@ -5817,39 +6077,46 @@ msgid "Problem saving notice."
 msgstr "Problem podczas zapisywania wpisu."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
-msgstr "Podano błędne dane do saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
+msgstr "Podano błędne dane do saveKnownGroups."
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Nie można zapisać odpowiedzi na %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Nie można unieważnić roli \"\"%1$s\" użytkownika #%2$d; nie istnieje."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5920,33 +6187,33 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Witaj w %1$s, @%2$s."
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 "Nie określono pojedynczego użytkownika dla trybu pojedynczego użytkownika."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr "Wywołano kod pojedynczego użytkownika, kiedy nie był włączony."
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Nie można utworzyć grupy."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Nie można ustawić adresu URI grupy."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Nie można ustawić członkostwa w grupie."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Nie można zapisać informacji o lokalnej grupie."
 
@@ -5996,194 +6263,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Strona bez nazwy"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "Wyświetl więcej"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Główna nawigacja witryny"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Profil osobisty i oś czasu przyjaciół"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Osobiste"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Zmień adres e-mail, awatar, hasło, profil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Połącz z serwisami"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Połącz"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Zmień konfigurację witryny"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrator"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Zaproś przyjaciół i kolegów do dołączenia do ciebie na %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Zaproś"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Wyloguj się z witryny"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Wyloguj się"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Utwórz konto"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Zarejestruj się"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Zaloguj się na witrynie"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Zaloguj się"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Pomóż mi."
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Pomoc"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Wyszukaj osoby lub tekst"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Wyszukaj"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Wpis witryny"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Lokalne widoki"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Wpis strony"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Druga nawigacja witryny"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Pomoc"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "O usłudze"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "TOS"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Prywatność"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Kod źródłowy"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Odznaka"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licencja oprogramowania StatusNet"
 
@@ -6191,7 +6465,7 @@ msgstr "Licencja oprogramowania StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6201,7 +6475,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** jest usługą mikroblogowania."
@@ -6210,7 +6484,7 @@ msgstr "**%%site.name%%** jest usługą mikroblogowania."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6222,20 +6496,20 @@ msgstr ""
 "Affero](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licencja zawartości witryny"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Treść i dane %1$s są prywatne i poufne."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6243,7 +6517,7 @@ msgstr ""
 "zastrzeżone."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Prawa autorskie do treści i danych są własnością współtwórców. Wszystkie "
@@ -6251,7 +6525,7 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
@@ -6259,19 +6533,19 @@ msgstr ""
 "$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginacja"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Później"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Wcześniej"
 
@@ -6350,7 +6624,7 @@ msgid "User configuration"
 msgstr "Konfiguracja użytkownika"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Użytkownik"
 
@@ -6615,7 +6889,7 @@ msgid "AJAX error"
 msgstr "Błąd AJAX"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Zakończono polecenie"
 
@@ -6631,7 +6905,7 @@ msgstr "Wpis z tym identyfikatorem nie istnieje."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Użytkownik nie posiada ostatniego wpisu."
 
@@ -6700,6 +6974,14 @@ msgstr "Użytkownik %1$s dołączył do grupy %2$s."
 msgid "%1$s left group %2$s."
 msgstr "Użytkownik %1$s opuścił grupę %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6739,113 +7021,119 @@ msgstr ""
 "%s to zdalny profil; można wysyłać bezpośrednie wiadomości tylko do "
 "użytkowników na tym samym serwerze."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Wiadomość jest za długa - maksymalnie %1$d znaków, wysłano %2$d."
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Wiadomość jest za długa - maksymalnie %1$d znak, wysłano %2$d."
+msgstr[1] "Wiadomość jest za długa - maksymalnie %1$d znaki, wysłano %2$d."
+msgstr[2] "Wiadomość jest za długa - maksymalnie %1$d znaków, wysłano %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Błąd podczas wysyłania bezpośredniej wiadomości."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Powtórzono wpis od użytkownika %s."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Błąd podczas powtarzania wpisu."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Wpis jest za długi - maksymalnie %1$d znaków, wysłano %2$d."
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Wpis jest za długi - maksymalnie %1$d znak, wysłano %2$d."
+msgstr[1] "Wpis jest za długi - maksymalnie %1$d znaki, wysłano %2$d."
+msgstr[2] "Wpis jest za długi - maksymalnie %1$d znaków, wysłano %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Wysłano odpowiedź do %s."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Błąd podczas zapisywania wpisu."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Podaj nazwę użytkownika do subskrybowania."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Nie można subskrybować profili OMB za pomocą polecenia."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subskrybowano użytkownika %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Podaj nazwę użytkownika do usunięcia subskrypcji."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Usunięto subskrypcję użytkownika %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Nie zaimplementowano polecenia."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Wyłączono powiadomienia."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Nie można wyłączyć powiadomień."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Włączono powiadomienia."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Nie można włączyć powiadomień."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Polecenie logowania jest wyłączone."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6853,20 +7141,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Usunięto subskrypcję użytkownika %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Nie subskrybujesz nikogo."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Subskrybujesz tę osobę:"
@@ -6875,14 +7163,14 @@ msgstr[2] "Subskrybujesz te osoby:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Nikt cię nie subskrybuje."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Ta osoba cię subskrybuje:"
@@ -6891,14 +7179,14 @@ msgstr[2] "Te osoby cię subskrybują:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Nie jesteś członkiem żadnej grupy."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Jesteś członkiem tej grupy:"
@@ -6906,7 +7194,7 @@ msgstr[1] "Jesteś członkiem tych grup:"
 msgstr[2] "Jesteś członkiem tych grup:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7050,25 +7338,38 @@ msgstr "Upoważnione połączone aplikacje"
 msgid "Database error"
 msgstr "Błąd bazy danych"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Wyślij plik"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "Można wysłać osobisty obraz tła. Maksymalny rozmiar pliku to 2 MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Serwer nie może obsłużyć aż tyle danych POST (%s bajty) z powodu bieżącej "
-"konfiguracji."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr "Włączone"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Wyłączone"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Przywróć"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Przywrócono domyślny wygląd."
 
@@ -7096,7 +7397,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Kanały"
 
@@ -7134,8 +7436,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 małe litery lub liczby, bez spacji i znaków przestankowych"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
-msgstr "Adres URL strony domowej lub bloga grupy, albo temat"
+msgid "URL of the homepage or blog of the group or topic."
+msgstr "Adres URL strony domowej lub bloga grupy, albo temat."
 
 #: lib/groupeditform.php:168
 msgid "Describe the group or topic"
@@ -7143,22 +7445,36 @@ msgstr "Opisz grupę lub temat"
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Opisz grupę lub temat w %d znakach"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Opisz grupę lub temat w %d znaku"
+msgstr[1] "Opisz grupę lub temat w %d znakach"
+msgstr[2] "Opisz grupę lub temat w %d znakach"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Położenie grupy, jeśli istnieje, np. \"miasto, województwo (lub region), kraj"
-"\""
+"\"."
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
 "Dodatkowe pseudonimy grupy, oddzielone przecinkami lub spacjami, maksymalnie "
-"%d"
+"%d."
+msgstr[1] ""
+"Dodatkowe pseudonimy grupy, oddzielone przecinkami lub spacjami, maksymalnie "
+"%d."
+msgstr[2] ""
+"Dodatkowe pseudonimy grupy, oddzielone przecinkami lub spacjami, maksymalnie "
+"%d."
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7258,39 +7574,60 @@ msgstr "Ta strona jest niedostępna dla akceptowanego typu medium"
 msgid "Unsupported image file format."
 msgstr "Nieobsługiwany format pliku obrazu."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Ten plik jest za duży. Maksymalny rozmiar pliku to %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Częściowo wysłano."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Błąd systemu podczas wysyłania pliku."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "To nie jest obraz lub lub plik jest uszkodzony."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Utracono plik."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Nieznany typ pliku"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "%d MB"
+msgstr[1] "%d MB"
+msgstr[2] "%d MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "KB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "%d KB"
+msgstr[1] "%d KB"
+msgstr[2] "%d KB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] "%d B"
+msgstr[1] "%d B"
+msgstr[2] "%d B"
 
 #: lib/jabber.php:387
 #, php-format
@@ -7541,7 +7878,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "Użytkownik %1$s (@%2$s) dodał twój wpis jako ulubiony"
@@ -7551,7 +7888,7 @@ msgstr "Użytkownik %1$s (@%2$s) dodał twój wpis jako ulubiony"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7590,7 +7927,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7603,7 +7940,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "Użytkownik %1$s (@%2$s) wysłał wpis wymagający twojej uwagi"
@@ -7614,7 +7951,7 @@ msgstr "Użytkownik %1$s (@%2$s) wysłał wpis wymagający twojej uwagi"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7697,7 +8034,7 @@ msgstr "To nie jest przychodzący adres e-mail."
 msgid "Sorry, no incoming email allowed."
 msgstr "Przychodzący e-mail nie jest dozwolony."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Nieobsługiwany typ wiadomości: %s"
@@ -7760,7 +8097,7 @@ msgstr "Nie można określić typu MIME pliku."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7771,7 +8108,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" nie jest obsługiwanym typem pliku na tym serwerze."
@@ -7912,31 +8249,31 @@ msgstr "Podwójny wpis."
 msgid "Couldn't insert new subscription."
 msgstr "Nie można wprowadzić nowej subskrypcji."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Osobiste"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Odpowiedzi"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Ulubione"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Odebrane"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Wiadomości przychodzące"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Wysłane"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Wysłane wiadomości"
 
@@ -8042,16 +8379,17 @@ msgid "Sandbox this user"
 msgstr "Ogranicz tego użytkownika"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Przeszukaj witrynę"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Słowa kluczowe"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8132,6 +8470,11 @@ msgstr "Chmura znaczników osób ze znacznikami"
 msgid "None"
 msgstr "Brak"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+msgid "Invalid theme name."
+msgstr "Nieprawidłowa nazwa motywu."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8142,8 +8485,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Brak pliku motywu lub wysłanie nie powiodło się."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Zapisanie motywu nie powiodło się."
 
@@ -8153,16 +8496,24 @@ msgstr "Nieprawidłowy motyw: błędna struktura katalogów."
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Wysłany motyw jest za duży, musi być mniejszy niż %d bajt po "
+"zdekompresowaniu."
+msgstr[1] ""
+"Wysłany motyw jest za duży, musi być mniejszy niż %d bajty po "
+"zdekompresowaniu."
+msgstr[2] ""
 "Wysłany motyw jest za duży, musi być mniejszy niż %d bajtów po "
 "zdekompresowaniu."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Nieprawidłowe archiwum motywu: brak pliku css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8170,18 +8521,18 @@ msgstr ""
 "Motyw zawiera nieprawidłowy plik lub nazwę katalogu. Należy używać tylko "
 "liter, cyfr, podkreślników i znaku minus z zestawu ASCII."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "Temat zawiera niebezpieczne rozszerzenie nazwy pliku, co może stanowić "
 "zagrożenie."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Motyw zawiera plik typu \\\".%s\\\", który nie jest dozwolony."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Błąd podczas otwierania archiwum motywu."
 
@@ -8189,6 +8540,12 @@ msgstr "Błąd podczas otwierania archiwum motywu."
 msgid "Top posters"
 msgstr "Najczęściej wysyłający wpisy"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Odblokowanie"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Usuń ograniczenie"
@@ -8363,16 +8720,22 @@ msgstr[0] "Wiadomość jest za długa. Maksymalnie %1$d znak, wysłano %2$d."
 msgstr[1] "Wiadomość jest za długa. Maksymalnie %1$d znaki, wysłano %2$d."
 msgstr[2] "Wiadomość jest za długa. Maksymalnie %1$d znaków, wysłano %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "Plik kopii zapasowej dla użytkownika %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr "Pobieranie kopii zapasowej z pliku \"%s\"."
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "Nie podano użytkownika; używanie użytkownika zapasowego."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr "%d wpisów w kopii zapasowej."
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "%d wpis w kopii zapasowej."
+msgstr[1] "%d wpisy w kopii zapasowej."
+msgstr[2] "%d wpisów w kopii zapasowej."
index a150ea696698a3507f4aea87f891832643ed3268..be733fbc98fcd0c1993103a67909ad353c3a1024 100644 (file)
@@ -1,6 +1,7 @@
 # Translation of StatusNet - Core to Portuguese (Português)
 # Expored from translatewiki.net
 #
+# Author: Brion
 # Author: Gallaecio
 # Author: Giro720
 # Author: Hamilton Abreu
@@ -13,17 +14,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:30+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:41+0000\n"
 "Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -80,15 +81,22 @@ msgstr "Gravar configurações de acesso"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Gravar"
@@ -119,6 +127,7 @@ msgstr "Página não foi encontrada."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -131,14 +140,14 @@ msgstr "Página não foi encontrada."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Utilizador não foi encontrado."
@@ -155,7 +164,7 @@ msgstr "%1$s e amigos, página %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
@@ -210,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -309,11 +320,12 @@ msgstr "Não foi possível actualizar o utilizador."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -326,11 +338,13 @@ msgstr "Não foi possível gravar o perfil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -506,43 +520,53 @@ msgstr "Não foi possível determinar o utilizador de origem."
 msgid "Could not find target user."
 msgstr "Não foi possível encontrar o utilizador de destino."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "Utilizador só deve conter letras minúsculas e números. Sem espaços."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Utilizador já é usado. Tente outro."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Utilizador não é válido."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Página de ínicio não é uma URL válida."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -551,10 +575,14 @@ msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -562,9 +590,11 @@ msgstr[0] "Descrição demasiado longa (máx. %d caracteres)."
 msgstr[1] "Descrição demasiado longa (máx. %d caracteres)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -572,7 +602,12 @@ msgstr "Localidade demasiado longa (máx. 255 caracteres)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -588,15 +623,19 @@ msgstr "Nome alternativo inválido: \"%s\""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Nome alternativo \"%s\" já em uso. Tente outro."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Um nome alternativo não pode ser igual ao nome do utilizador."
 
@@ -702,21 +741,21 @@ msgid "Request token already authorized."
 msgstr "Não tem autorização."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Ocorreu um problema com a sua sessão. Por favor, tente novamente."
 
@@ -732,17 +771,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Erro na base de dados ao inserir o utilizador da aplicação OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Envio inesperado de formulário."
 
@@ -792,9 +833,10 @@ msgstr "Conta"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -888,20 +930,21 @@ msgstr "Não pode apagar o estado de outro utilizador."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Nota não foi encontrada."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Não pode repetir a sua própria nota."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Já repetiu essa nota."
 
@@ -922,7 +965,8 @@ msgstr "O cliente tem de fornecer um parâmetro 'status' com um valor."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -937,7 +981,7 @@ msgstr "Método da API não encontrado."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1043,104 +1087,139 @@ msgstr "Método da API em desenvolvimento."
 msgid "User not found."
 msgstr "Método da API não encontrado."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Anexo não foi encontrado."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Nome de utilizador não definido."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Tamanho não definido."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Tamanho inválido."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Pode carregar o seu avatar pessoal. O tamanho máximo do ficheiro é %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Utilizador sem perfil correspondente."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configurações do avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Antevisão"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Apagar"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Carregar"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Cortar"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Não foi carregado nenhum ficheiro."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Escolha uma área quadrada da imagem para ser o seu avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Perdi os dados do nosso ficheiro."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar actualizado."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Falha ao actualizar avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar apagado."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Já bloqueou esse utilizador."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquear utilizador"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1156,8 +1235,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1165,7 +1244,7 @@ msgstr "Não"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Não bloquear este utilizador"
 
@@ -1175,8 +1254,8 @@ msgstr "Não bloquear este utilizador"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1184,140 +1263,170 @@ msgstr "Sim"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloquear este utilizador"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Não foi possível gravar informação do bloqueio."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Grupo não foi encontrado."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s perfis bloqueados"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Perfis bloqueados de %1$s, página %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Uma lista dos utilizadores com entrada bloqueada neste grupo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Desbloquear utilizador do grupo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloquear"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Desbloquear este utilizador"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publicar em %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Sem código de confimação."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Código de confirmação não encontrado"
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Esse código de confirmação não é para si!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo do endereço %s não reconhecido."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Esse endereço já tinha sido confirmado."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Não foi possível actualizar o utilizador."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Não foi possível apagar a confirmação do endereço electrónico."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Não foi possível apagar a confirmação do mensageiro instantâneo."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirmar endereço"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "O endereço \"%s\" foi confirmado para a sua conta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversação"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notas"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Tem de iniciar uma sessão para eliminar uma aplicação."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Aplicação não foi encontrada."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Não é o proprietário desta aplicação."
@@ -1325,15 +1434,18 @@ msgstr "Não é o proprietário desta aplicação."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Ocorreu um problema com a sua sessão."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Apagar aplicação"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1344,12 +1456,12 @@ msgstr ""
 "utilizadores em existência."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Não apagar esta aplicação"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Apagar esta aplicação"
 
@@ -1385,13 +1497,14 @@ msgstr "Não foi possível actualizar o grupo."
 msgid "Deleted group %s"
 msgstr "%1$s deixou o grupo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Apagar utilizador"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1414,22 +1527,27 @@ msgstr "Não apagar esta nota"
 msgid "Delete this group"
 msgstr "Apagar este utilizador"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Não iniciou sessão."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Nota não pode ser apagada."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1437,21 +1555,24 @@ msgstr ""
 "Está prestes a apagar permamentemente uma nota. Esta acção não pode ser "
 "desfeita."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Apagar nota"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Tem a certeza de que quer apagar esta nota?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Não apagar esta nota"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Apagar esta nota"
 
@@ -1539,12 +1660,14 @@ msgstr ""
 "Pode fazer o upload de um tema personalizado para o StatusNet, na forma de "
 "um arquivo .ZIP."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Alterar imagem de fundo"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fundo"
 
@@ -1558,40 +1681,48 @@ msgstr ""
 "é %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Ligar"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Desligar"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Ligar ou desligar a imagem de fundo."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Repetir imagem de fundo em mosaico"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Alterar cores"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Conteúdo"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Links"
 
@@ -1603,29 +1734,31 @@ msgstr "Avançado"
 msgid "Custom CSS"
 msgstr "CSS personalizado"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Usar predefinições"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Repor estilos predefinidos"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Repor predefinição"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Gravar"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Gravar o estilo"
 
@@ -1669,9 +1802,9 @@ msgid "Name is required."
 msgstr "Nome é obrigatório."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Nome é demasiado longo (máx. 255 caracteres)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1700,7 +1833,7 @@ msgid "Organization is required."
 msgstr "Organização é obrigatória."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organização é demasiado longa (máx. 255 caracteres)."
@@ -1724,49 +1857,49 @@ msgstr "A URL de callback é inválida."
 msgid "Could not update application."
 msgstr "Não foi possível actualizar a aplicação."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Editar grupo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Tem de iniciar uma sessão para criar o grupo."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Tem de ser administrador para editar o grupo."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Use este formulário para editar o grupo."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Descrição demasiado longa (máx. %d caracteres)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Demasiados nomes alternativos! Máx. %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Nome alternativo inválido: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Não foi possível actualizar o grupo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Não foi possível criar os nomes alternativos."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Opções gravadas."
 
@@ -1963,6 +2096,12 @@ msgstr "Nenhuma confirmação pendente para cancelar."
 msgid "That is the wrong email address."
 msgstr "Esse endereço de correio electrónico está errado."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Não foi possível apagar a confirmação do endereço electrónico."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2045,7 +2184,7 @@ msgstr ""
 "uma nota às favoritas!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Notas favoritas de %s"
@@ -2142,19 +2281,23 @@ msgstr "Não pode atribuir funções aos utilizadores neste site."
 msgid "User already has this role."
 msgstr "O utilizador já tem esta função."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Não foi especificado um perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Não foi encontrado um perfil com essa identificação."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Não foi especificado um grupo."
@@ -2220,8 +2363,10 @@ msgstr ""
 "Personalize o aspecto do seu grupo com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Não foi possível actualizar o estilo."
 
@@ -2241,6 +2386,14 @@ msgstr ""
 "Pode carregar uma imagem para logotipo do seu grupo. O tamanho máximo do "
 "ficheiro é %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Carregar"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Cortar"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Escolha uma área quadrada da imagem para ser o logotipo."
@@ -2383,15 +2536,18 @@ msgstr ""
 "Podia [registar uma conta](%%action.register%%) e [criar o grupo](%%action."
 "newgroup%%) você mesmo!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Só um gestor pode desbloquear membros de um grupo."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Acesso do utilizador ao grupo não foi bloqueado."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erro ao remover o bloqueio."
 
@@ -2480,7 +2636,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicar um MicroID para o meu endereço Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Preferências gravadas."
 
@@ -2607,10 +2763,9 @@ msgstr[1] "Já subscreveu estes utilizadores:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2793,8 +2948,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2966,28 +3122,20 @@ msgstr "Tem de iniciar uma sessão para registar uma aplicação."
 msgid "Use this form to register a new application."
 msgstr "Use este formulário para registar uma nova aplicação."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Nome é demasiado longo (máx. 255 caracteres)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "É necessária a URL de origem."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organização é demasiado longa (máx. 255 caracteres)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Não foi possível criar a aplicação."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Grupo novo"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Use este formulário para criar um grupo novo."
@@ -2997,14 +3145,14 @@ msgid "New message"
 msgstr "Mensagem nova"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Não pode enviar uma mensagem a este utilizador."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Sem conteúdo!"
 
@@ -3013,7 +3161,7 @@ msgid "No recipient specified."
 msgstr "Não especificou um destinatário."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Não auto-envie uma mensagem; basta lê-la baixinho a si próprio."
@@ -3024,12 +3172,12 @@ msgstr "Mensagem enviada"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Mensagem directa para %s foi enviada."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Erro do Ajax"
 
@@ -3037,17 +3185,7 @@ msgstr "Erro do Ajax"
 msgid "New notice"
 msgstr "Nota nova"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Demasiado longo. Tamanho máx. das notas é %d caracteres."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Tamanho máx. das notas é %d caracteres, incluindo a URL do anexo."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Nota publicada"
 
@@ -3185,25 +3323,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Nota não tem perfil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Estado de %1$s em %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "O tipo de conteúdo %s não é suportado."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Só URLs %s sobre HTTP simples, por favor."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Formato de dados não suportado."
@@ -3216,36 +3354,46 @@ msgstr "Pesquisa de Pessoas"
 msgid "Notice Search"
 msgstr "Pesquisa de Notas"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Outras configurações"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gerir várias outras opções."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (serviço gratuito)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Encurtar URLs com"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Serviço de encurtamento que será usado automaticamente"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Ver estilos para o perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Mostrar ou esconder estilos para o perfil."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Serviço de encurtamento de URLs demasiado extenso (máx. 50 caracteres)"
 
 #: actions/otp.php:69
@@ -3691,8 +3839,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nome completo"
@@ -3732,9 +3881,10 @@ msgid "Bio"
 msgstr "Biografia"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Localidade"
@@ -4077,7 +4227,8 @@ msgid "Unexpected password reset."
 msgstr "Reinício inesperado da senha."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Senha tem de ter 6 ou mais caracteres."
 
 #: actions/recoverpassword.php:369
@@ -4324,7 +4475,7 @@ msgid "Repeated!"
 msgstr "Repetida!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostas a %s"
@@ -4456,11 +4607,12 @@ msgstr "Organização"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Descrição"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Estatísticas"
@@ -4478,6 +4630,11 @@ msgstr "Operações da aplicação"
 msgid "Reset key & secret"
 msgstr "Reiniciar chave e segredo"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Apagar"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informação da aplicação"
@@ -4572,77 +4729,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Esta é uma forma de partilhar aquilo de que gosta."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupo %1$s, página %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Perfil do grupo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Anotação"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Nomes alternativos"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Acções do grupo"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fonte de notas do grupo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fonte de notas do grupo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fonte de notas do grupo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF do grupo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membros"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Nenhum)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Todos os membros"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Criado"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membros"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4651,14 +4837,17 @@ msgid ""
 "their life and interests. [Join now](%%%%action.register%%%%) to become part "
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** é um grupo de utilizadores no site %%site.name%%, um serviço de "
+"**%s** é um grupo de utilizadores no site %%%%site.name%%%%, um serviço de "
 "[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
 "programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
 "grupo partilham mensagens curtas acerca das suas vidas e interesses. "
-"[Registe-se agora](%%action.register%%) para se juntar a este grupo e a "
-"muitos mais! ([Saber mais](%%doc.help%%))"
+"[Registe-se agora](%%%%action.register%%%%) para se juntar a este grupo e a "
+"muitos mais! ([Saber mais](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4666,29 +4855,36 @@ msgid ""
 "[StatusNet](http://status.net/) tool. Its members share short messages about "
 "their life and interests. "
 msgstr ""
-"**%s** é um grupo de utilizadores no site %%site.name%%, um serviço de "
+"**%s** é um grupo de utilizadores no site %%%%site.name%%%%, um serviço de "
 "[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
 "programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
 "grupo partilham mensagens curtas acerca das suas vidas e interesses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Gestores"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Mensagem não foi encontrada."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Só o remetente e o destinatário podem ler esta mensagem."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensagem para %1$s a %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensagem de %1$s a %2$s"
@@ -4697,47 +4893,67 @@ msgstr "Mensagem de %1$s a %2$s"
 msgid "Notice deleted."
 msgstr "Avatar actualizado."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "  categorizou %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, página %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Notas categorizadas com %1$s, página %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, página %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fonte de notas de %1$s com a categoria %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Fonte de notas para %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Fonte de notas para %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Fonte de notas para %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF para %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Estas são as notas de %1$s, mas %2$s ainda não publicou nenhuma."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4745,7 +4961,9 @@ msgstr ""
 "Viu algo de interessante ultimamente? Como ainda não publicou nenhuma nota, "
 "esta seria uma óptima altura para começar :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4754,7 +4972,9 @@ msgstr ""
 "Pode tentar dar um toque em %1$s ou [endereçar-lhe uma nota](%%%%action."
 "newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4762,24 +4982,27 @@ msgid ""
 "[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
-"**%s** tem uma conta no site %%site.name%%, um serviço de [microblogues]"
+"**%s** tem uma conta no site %%%%site.name%%%%, um serviço de [microblogues]"
 "(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
-"Software Livre [StatusNet](http://status.net/). [Registe-se agora](%%action."
-"register%%) para seguir as notas de **%s** e de muitos mais! ([Saber mais](%%"
-"doc.help%%))"
+"Software Livre [StatusNet](http://status.net/). [Registe-se agora](%%%%"
+"action.register%%%%) para seguir as notas de **%s** e de muitos mais! "
+"([Saber mais](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
-"**%s** tem uma conta no site %%site.name%%, um serviço de [microblogues]"
+"**%s** tem uma conta no site %%%%site.name%%%%, um serviço de [microblogues]"
 "(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
 "Software Livre [StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetições de %s"
@@ -4893,31 +5116,40 @@ msgstr ""
 "Quanto tempo os utilizadores terão de esperar (em segundos) para publicar a "
 "mesma coisa outra vez."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Aviso do Site"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Editar mensagem do site"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Não foi possível gravar o aviso do site."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Tamanho máximo do aviso do site é 255 caracteres."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto do aviso do site"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Texto do aviso do site (máx. 255 caracteres; pode usar HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Gravar aviso do site"
 
@@ -5134,12 +5366,14 @@ msgstr "Instantâneos serão enviados para esta URL"
 msgid "Save snapshot settings"
 msgstr "Gravar configurações do instantâneo"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Não subscreveu esse perfil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Não foi possível gravar a subscrição."
 
@@ -5381,75 +5615,93 @@ msgstr ""
 "site."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Utilizador"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite da biografia inválido. Tem de ser numérico."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Subscrição predefinida é inválida: '%1$s' não é utilizador."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limite da Biografia"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Tamanho máximo de uma biografia em caracteres."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Utilizadores novos"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Boas-vindas a utilizadores novos"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Texto de boas-vindas a utilizadores novos (máx. 255 caracteres)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Subscrição predefinida"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Novos utilizadores subscrevem automaticamente este utilizador."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Convites"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Convites habilitados"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Permitir, ou não, que utilizadores convidem utilizadores novos."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5557,11 +5809,13 @@ msgstr "Não é possível ler a URL do avatar ‘%s’."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagem incorrecto para o avatar da URL ‘%s’."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Estilo do perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5659,7 +5913,7 @@ msgid "Plugins"
 msgstr "Plugins"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versão"
 
@@ -5692,32 +5946,46 @@ msgstr "o Robin acha que algo é impossível."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Nenhum ficheiro pode ter mais de %1$d bytes e o que enviou tinha %2$d bytes. "
+"Tente enviar uma versão mais pequena."
+msgstr[1] ""
 "Nenhum ficheiro pode ter mais de %1$d bytes e o que enviou tinha %2$d bytes. "
 "Tente enviar uma versão mais pequena."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes."
+msgstr[1] ""
 "Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
+msgstr[1] ""
+"Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nome de ficheiro inválido."
 
@@ -5846,32 +6114,40 @@ msgid "Problem saving notice."
 msgstr "Problema na gravação da nota."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "O tipo fornecido ao método saveKnownGroups é incorrecto"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problema na gravação da caixa de entrada do grupo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Não foi possível gravar a informação do grupo local."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5879,7 +6155,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5951,32 +6227,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "%1$s dá-lhe as boas-vindas, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Nenhum utilizador único definido para o modo de utilizador único."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Não foi possível criar o grupo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Não foi possível configurar a URI do grupo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Não foi possível configurar membros do grupo."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Não foi possível gravar a informação do grupo local."
 
@@ -6026,194 +6302,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Página sem título"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navegação primária deste site"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Perfil pessoal e notas dos amigos"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Pessoal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Altere o seu endereço electrónico, avatar, senha, perfil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Conta"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Ligar aos serviços"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Ligar"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Alterar a configuração do site"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Gestor"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convidar amigos e colegas para se juntarem a si em %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Convidar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Terminar esta sessão"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Sair"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Criar uma conta"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registar"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Iniciar uma sessão"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Entrar"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ajudem-me!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Procurar pessoas ou pesquisar texto"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Pesquisa"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Aviso do site"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Vistas locais"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Aviso da página"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navegação secundária deste site"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Sobre"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Termos"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacidade"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Código fonte"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contacto"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Emblema"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licença de software do StatusNet"
 
@@ -6221,7 +6504,7 @@ msgstr "Licença de software do StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6231,7 +6514,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** é um serviço de microblogues."
@@ -6240,7 +6523,7 @@ msgstr "**%%site.name%%** é um serviço de microblogues."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6252,20 +6535,20 @@ msgstr ""
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licença de conteúdos do site"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "O conteúdo e dados do site %1$s são privados e confidenciais."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
@@ -6273,7 +6556,7 @@ msgstr ""
 "direitos reservados."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Direitos de autor sobre o conteúdo e dados detidos pelos contribuidores. "
@@ -6281,7 +6564,7 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
@@ -6289,19 +6572,19 @@ msgstr ""
 "licença %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginação"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Posteriores"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Anteriores"
 
@@ -6382,7 +6665,7 @@ msgid "User configuration"
 msgstr "Configuração do utilizador"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Utilizador"
 
@@ -6646,7 +6929,7 @@ msgid "AJAX error"
 msgstr "Erro do Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Comando terminado"
 
@@ -6662,7 +6945,7 @@ msgstr "Não existe nenhuma nota com essa identificação."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Utilizador não tem nenhuma última nota."
 
@@ -6731,6 +7014,14 @@ msgstr "%1$s juntou-se ao grupo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s deixou o grupo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6770,133 +7061,137 @@ msgstr ""
 "%s é um perfil remoto; só pode enviar mensagens directas a utilizadores no "
 "mesmo servidor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+msgstr[1] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Erro no envio da mensagem directa."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Nota de %s repetida."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Erro ao repetir nota."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+msgstr[1] "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Resposta a %s enviada."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Erro ao gravar nota."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Introduza o nome do utilizador para subscrever."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Não pode subscrever perfis OMB por comando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Subscreveu %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Introduza o nome do utilizador para deixar de subscrever."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Deixou de subscrever %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Comando ainda não implementado."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notificação desligada."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Não foi possível desligar a notificação."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notificação ligada."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Não foi possível ligar a notificação."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Comando para iniciar sessão foi desactivado."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "O link é utilizável uma única vez e só é válido durante 2 minutos: %s."
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Subscrição de %s cancelada."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Não subscreveu ninguém."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Subscreveu esta pessoa:"
@@ -6904,14 +7199,14 @@ msgstr[1] "Subscreveu estas pessoas:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Ninguém subscreve as suas notas."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Esta pessoa subscreve as suas notas:"
@@ -6919,21 +7214,21 @@ msgstr[1] "Estas pessoas subscrevem as suas notas:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Não está em nenhum grupo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Está no grupo:"
 msgstr[1] "Está nos grupos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7077,10 +7372,13 @@ msgstr "Aplicações ligadas autorizadas"
 msgid "Database error"
 msgstr "Erro de base de dados"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Carregar ficheiro"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7088,16 +7386,29 @@ msgstr ""
 "Pode carregar uma imagem de fundo pessoal. O tamanho máximo do ficheiro é "
 "2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"O servidor não conseguiu processar tantos dados POST (%s bytes) devido à sua "
-"configuração actual."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Ligar"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Desligar"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Reiniciar"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Predefinições do estilo repostas"
 
@@ -7125,7 +7436,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7163,7 +7475,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL da página ou do blogue, deste grupo ou assunto"
 
 #: lib/groupeditform.php:168
@@ -7171,19 +7484,29 @@ msgid "Describe the group or topic"
 msgstr "Descreva o grupo ou assunto"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Descreva o grupo ou o assunto em %d caracteres"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Descreva o grupo ou o assunto em %d caracteres"
+msgstr[1] "Descreva o grupo ou o assunto em %d caracteres"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Localidade do grupo, se aplicável, por ex. \"Cidade, Região, País\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Nomes adicionais para o grupo, separados por vírgulas ou espaços, máx. %d"
+msgstr[1] ""
 "Nomes adicionais para o grupo, separados por vírgulas ou espaços, máx. %d"
 
 #. TRANS: Menu item in the group navigation page.
@@ -7284,39 +7607,57 @@ msgstr "Esta página não está disponível num formato que você aceite"
 msgid "Unsupported image file format."
 msgstr "Formato do ficheiro da imagem não é suportado."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Esse ficheiro é demasiado grande. O tamanho máximo de ficheiro é %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Transferência parcial."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Ocorreu um erro de sistema ao transferir o ficheiro."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Ficheiro não é uma imagem ou está corrompido."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Perdi o nosso ficheiro."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Tipo do ficheiro é desconhecido"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7567,7 +7908,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) adicionou a sua nota às favoritas."
@@ -7577,7 +7918,7 @@ msgstr "%s (@%s) adicionou a sua nota às favoritas."
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7615,7 +7956,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7628,7 +7969,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) enviou uma nota à sua atenção"
@@ -7639,7 +7980,7 @@ msgstr "%s (@%s) enviou uma nota à sua atenção"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7722,7 +8063,7 @@ msgstr "Desculpe, esse não é o seu endereço para receber correio electrónico
 msgid "Sorry, no incoming email allowed."
 msgstr "Desculpe, não lhe é permitido receber correio electrónico."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipo de mensagem não suportado: %s"
@@ -7788,7 +8129,7 @@ msgstr "Não foi possível determinar o tipo MIME do ficheiro."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7799,7 +8140,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" não é um tipo de ficheiro suportado neste servidor."
@@ -7940,31 +8281,31 @@ msgstr "Nota duplicada."
 msgid "Couldn't insert new subscription."
 msgstr "Não foi possível inserir nova subscrição."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Pessoal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respostas"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoritas"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Recebidas"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Mensagens recebidas"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Enviadas"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Mensagens enviadas"
 
@@ -8071,16 +8412,17 @@ msgid "Sandbox this user"
 msgstr "Impedir que notas deste utilizador sejam públicas"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Pesquisar site"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Categorias"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8161,6 +8503,12 @@ msgstr "Nuvem da sua categorização das pessoas"
 msgid "None"
 msgstr "Nenhum"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nome de ficheiro inválido."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8171,8 +8519,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "O ficheiro do tema não foi localizado ou o upload falhou."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Não foi possível gravar o tema."
 
@@ -8181,17 +8529,22 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Tema inválido: estrutura de directórios incorrecta."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"O tema carregado é demasiado grande; tem de ter menos de %d bytes "
+"descomprimido."
+msgstr[1] ""
 "O tema carregado é demasiado grande; tem de ter menos de %d bytes "
 "descomprimido."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Arquivo do tema inválido: falta o ficheiro css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8199,16 +8552,16 @@ msgstr ""
 "Tema contém um nome de ficheiro ou de directório inválido. Use somente "
 "letras ASCII, algarismos, sublinhados e o sinal de menos."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "O tema contém extensões de ficheiro inseguras; pode não ser seguro."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Tema contém um ficheiro do tipo '.%s', o que não é permitido."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 
@@ -8216,6 +8569,13 @@ msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 msgid "Top posters"
 msgstr "Quem mais publica"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloquear"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Permitir notas públicas"
@@ -8382,17 +8742,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
 msgstr[1] "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Não foi especificado um ID de utilizador."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index f27f3c76d76c76f11d623583952f32881357dcae..1c9ebc43d93e17f97e63e47bad71c67a648d55d1 100644 (file)
@@ -15,18 +15,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:32+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:42+0000\n"
 "Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
 "br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt-br\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -83,15 +83,22 @@ msgstr "Salvar as configurações de acesso"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Salvar"
@@ -122,6 +129,7 @@ msgstr "Esta página não existe."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -134,14 +142,14 @@ msgstr "Esta página não existe."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Este usuário não existe."
@@ -158,7 +166,7 @@ msgstr "%1$s e amigos, pág. %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s e amigos"
@@ -214,7 +222,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -314,11 +324,12 @@ msgstr "Não foi possível atualizar o usuário."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -331,12 +342,14 @@ msgstr "Não foi possível salvar o perfil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
-#, fuzzy, php-format
+#: lib/designsettings.php:298
+#, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
 "current configuration."
@@ -344,7 +357,7 @@ msgid_plural ""
 "The server was unable to handle that much POST data (%s bytes) due to its "
 "current configuration."
 msgstr[0] ""
-"O servidor não conseguiu manipular a quantidade de dados do POST (%s bytes) "
+"O servidor não conseguiu manipular a quantidade de dados do POST (%s byte) "
 "devido à sua configuração atual."
 msgstr[1] ""
 "O servidor não conseguiu manipular a quantidade de dados do POST (%s bytes) "
@@ -420,11 +433,11 @@ msgstr "Nenhuma mensagem de texto!"
 #. TRANS: Form validation error displayed when message content is too long.
 #. TRANS: %d is the maximum number of characters for a message.
 #: actions/apidirectmessagenew.php:127 actions/newmessage.php:152
-#, fuzzy, php-format
+#, php-format
 msgid "That's too long. Maximum message size is %d character."
 msgid_plural "That's too long. Maximum message size is %d characters."
 msgstr[0] ""
-"Isso é muito extenso. O tamanho máximo das mensagens é %d caracteres."
+"Isso é muito extenso. O tamanho máximo das mensagens é %d caractere."
 msgstr[1] ""
 "Isso é muito extenso. O tamanho máximo das mensagens é %d caracteres."
 
@@ -442,7 +455,6 @@ msgstr ""
 
 #. TRANS: Client error displayed trying to direct message self (403).
 #: actions/apidirectmessagenew.php:154
-#, fuzzy
 msgid ""
 "Do not send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -515,9 +527,11 @@ msgstr "Não foi possível determinar o usuário de origem."
 msgid "Could not find target user."
 msgstr "Não foi possível encontrar usuário de destino."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -525,69 +539,86 @@ msgstr ""
 "ter e espaços."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Esta identificação já está em uso. Tente outro."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Não é uma identificação válida."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "A URL informada não é válida."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
-#, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
-msgstr "Nome completo muito extenso (máx. 255 caracteres)"
+msgstr "O nome completo é muito extenso (máx. 255 caracteres)"
 
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
-#, fuzzy, php-format
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
+#, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
-msgstr[0] "Descrição muito extensa (máximo %d caracteres)."
-msgstr[1] "Descrição muito extensa (máximo %d caracteres)."
+msgstr[0] "A descrição é muito extensa (máximo %d caractere)."
+msgstr[1] "A descrição é muito extensa (máximo %d caracteres)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
-#, fuzzy
 msgid "Location is too long (maximum 255 characters)."
-msgstr "Localização muito extensa (máx. 255 caracteres)."
+msgstr "A localização é muito extensa (máx. 255 caracteres)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
-#, fuzzy, php-format
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
+#, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
-msgstr[0] "Muitos apelidos! O máximo são %d."
+msgstr[0] "Muitos apelidos! O máximo é %d."
 msgstr[1] "Muitos apelidos! O máximo são %d."
 
 #. TRANS: Client error shown when providing an invalid alias during group creation.
@@ -599,15 +630,19 @@ msgstr "Apelido inválido: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "O apelido \"%s\" já está em uso. Tente outro."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "O apelido não pode ser igual à identificação."
 
@@ -691,9 +726,8 @@ msgstr "O upload falhou."
 
 #. TRANS: Client error given from the OAuth API when the request token or verifier is invalid.
 #: actions/apioauthaccesstoken.php:101
-#, fuzzy
 msgid "Invalid request token or verifier."
-msgstr "O token de autenticação especificado é inválido."
+msgstr "O token ou o verificador solicitado é inválido."
 
 #. TRANS: Client error given when no oauth_token was passed to the OAuth API.
 #: actions/apioauthauthorize.php:107
@@ -702,32 +736,30 @@ msgstr "Não foi fornecido nenhum parâmetro oauth_token"
 
 #. TRANS: Client error given when an invalid request token was passed to the OAuth API.
 #: actions/apioauthauthorize.php:115 actions/apioauthauthorize.php:129
-#, fuzzy
 msgid "Invalid request token."
-msgstr "Token inválido."
+msgstr "O token solicitado é inválido."
 
 #. TRANS: Client error given when an invalid request token was passed to the OAuth API.
 #: actions/apioauthauthorize.php:121
-#, fuzzy
 msgid "Request token already authorized."
-msgstr "Você não está autorizado."
+msgstr "O token solicitado já foi autorizado."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Ocorreu um problema com o seu token de sessão. Tente novamente, por favor."
@@ -739,23 +771,23 @@ msgstr "Nome de usuário e/ou senha inválido(s)!"
 
 #. TRANS: Server error displayed when a database action fails.
 #: actions/apioauthauthorize.php:217
-#, fuzzy
 msgid "Database error inserting oauth_token_association."
-msgstr ""
-"Erro no banco de dados durante a inserção do usuário da aplicativo OAuth."
+msgstr "Erro no banco de dados durante a inserção de oauth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Submissão inesperada de formulário."
 
@@ -772,16 +804,15 @@ msgstr "Permitir ou negar o acesso"
 #. TRANS: User notification of external application requesting account access.
 #. TRANS: %3$s is the access type requested, %4$s is the StatusNet sitename.
 #: actions/apioauthauthorize.php:425
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "An application would like the ability to <strong>%3$s</strong> your %4$s "
 "account data. You should only give access to your %4$s account to third "
 "parties you trust."
 msgstr ""
-"A aplicação <strong>%1$s</strong> por <strong>%2$s</strong> solicita a "
-"permissão para <strong>%3$s</strong> os dados da sua conta %4$s. Você deve "
-"fornecer acesso à sua conta %4$s somente para terceiros nos quais você "
-"confia."
+"Uma aplicação solicitou permissão para <strong>%3$s</strong> os dados da sua "
+"conta %4$s. Você deve fornecer acesso à sua conta %4$s somente para "
+"terceiros nos quais você confia."
 
 #. TRANS: User notification of external application requesting account access.
 #. TRANS: %1$s is the application name requesting access, %2$s is the organisation behind the application,
@@ -800,16 +831,16 @@ msgstr ""
 
 #. TRANS: Fieldset legend.
 #: actions/apioauthauthorize.php:455
-#, fuzzy
 msgctxt "LEGEND"
 msgid "Account"
 msgstr "Conta"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -837,35 +868,31 @@ msgstr "Cancelar"
 
 #. TRANS: Button text that when clicked will allow access to an account by an external application.
 #: actions/apioauthauthorize.php:485
-#, fuzzy
 msgctxt "BUTTON"
 msgid "Allow"
 msgstr "Permitir"
 
 #. TRANS: Form instructions.
 #: actions/apioauthauthorize.php:502
-#, fuzzy
 msgid "Authorize access to your account information."
-msgstr "Permitir ou negar o acesso às informações da sua conta."
+msgstr "Autoriza o acesso às informações da sua conta."
 
 #. TRANS: Header for user notification after revoking OAuth access to an application.
 #: actions/apioauthauthorize.php:594
-#, fuzzy
 msgid "Authorization canceled."
-msgstr "A confirmação do mensageiro instantâneo foi cancelada."
+msgstr "A autorização foi cancelada."
 
 #. TRANS: User notification after revoking OAuth access to an application.
 #. TRANS: %s is an OAuth token.
 #: actions/apioauthauthorize.php:598
-#, fuzzy, php-format
+#, php-format
 msgid "The request token %s has been revoked."
-msgstr "O token %s solicitado foi negado e revogado."
+msgstr "O token %s solicitado foi revogado."
 
 #. TRANS: Title of the page notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:621
-#, fuzzy
 msgid "You have successfully authorized the application"
-msgstr "Você não está autorizado."
+msgstr "A aplicação foi autorizada com sucesso"
 
 #. TRANS: Message notifying the user that an anonymous client application was successfully authorized to access the user's account with OAuth.
 #: actions/apioauthauthorize.php:625
@@ -873,13 +900,15 @@ msgid ""
 "Please return to the application and enter the following security code to "
 "complete the process."
 msgstr ""
+"Por favor, retorne à aplicação e digite o seguinte código de segurança para "
+"completar o processo."
 
 #. TRANS: Title of the page notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
 #: actions/apioauthauthorize.php:632
-#, fuzzy, php-format
+#, php-format
 msgid "You have successfully authorized %s"
-msgstr "Você não está autorizado."
+msgstr "A aplicação %s foi autorizada com sucesso"
 
 #. TRANS: Message notifying the user that the client application was successfully authorized to access the user's account with OAuth.
 #. TRANS: %s is the authorised application name.
@@ -889,6 +918,8 @@ msgid ""
 "Please return to %s and enter the following security code to complete the "
 "process."
 msgstr ""
+"Por favor, retorne a %s e digite o seguinte código de segurança para "
+"completar o processo."
 
 #. TRANS: Client error displayed trying to delete a status not using POST or DELETE.
 #. TRANS: POST and DELETE should not be translated.
@@ -903,20 +934,21 @@ msgstr "Você não pode excluir uma mensagem de outro usuário."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Essa mensagem não existe."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Você não pode repetir a sua própria mensagem."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Você já repetiu essa mensagem."
 
@@ -937,26 +969,26 @@ msgstr "O cliente tem de fornecer um parâmetro 'status' com um valor."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
-#, fuzzy, php-format
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
+#, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
-msgstr[0] "Está muito extenso. O tamanho máximo é de %d caracteres."
+msgstr[0] "Está muito extenso. O tamanho máximo é de %d caractere."
 msgstr[1] "Está muito extenso. O tamanho máximo é de %d caracteres."
 
 #. TRANS: Client error displayed when replying to a non-existing notice.
 #: actions/apistatusesupdate.php:284
-#, fuzzy
 msgid "Parent notice not found."
-msgstr "O método da API não foi encontrado!"
+msgstr "A mensagem pai não foi encontrada."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
-#, fuzzy, php-format
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
+#, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
-msgstr[0] "O tamanho máximo da mensagem é de %d caracteres"
+msgstr[0] "O tamanho máximo da mensagem é de %d caractere"
 msgstr[1] "O tamanho máximo da mensagem é de %d caracteres"
 
 #. TRANS: Client error displayed when requesting profiles of followers in an unsupported format.
@@ -976,16 +1008,16 @@ msgstr "%1$s / Favoritas de %2$s"
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user's full name,
 #. TRANS: %3$s is a user nickname.
 #: actions/apitimelinefavorites.php:120
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s updates favorited by %2$s / %3$s."
-msgstr "%1$s marcadas como favoritas por %2$s / %2$s."
+msgstr "Mensagens de %1$s marcadas como favoritas por %2$s / %3$s."
 
 #. TRANS: Server error displayed when generating an Atom feed fails.
 #. TRANS: %s is the error.
 #: actions/apitimelinegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not generate feed for group - %s"
-msgstr "Não foi possível atualizar o grupo."
+msgstr "Não foi possível gerar a fonte de notícias para o grupo - %s"
 
 #. TRANS: Title for timeline of most recent mentions of a user.
 #. TRANS: %1$s is the StatusNet sitename, %2$s is a user nickname.
@@ -1057,105 +1089,140 @@ msgstr "O método da API está em construção."
 msgid "User not found."
 msgstr "O método da API não foi encontrado!"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Este anexo não existe."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Nenhuma identificação."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Sem tamanho definido."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Tamanho inválido."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Você pode enviar seu avatar pessoal. O tamanho máximo do arquivo é de %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Usuário sem um perfil correspondente"
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Configurações do avatar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Original"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Pré-visualizar"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Excluir"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Enviar"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Cortar"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Não foi enviado nenhum arquivo."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Selecione uma área quadrada da imagem para ser seu avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Os dados do nosso arquivo foram perdidos."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "O avatar foi atualizado."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Não foi possível atualizar o avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "O avatar foi excluído."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Você já bloqueou esse usuário."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Bloquear usuário"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1172,8 +1239,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1181,7 +1248,7 @@ msgstr "Não"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Não bloquear este usuário"
 
@@ -1191,8 +1258,8 @@ msgstr "Não bloquear este usuário"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1200,140 +1267,170 @@ msgstr "Sim"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bloquear este usuário"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Não foi possível salvar a informação de bloqueio."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Esse grupo não existe."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "Perfis bloqueados no %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Perfis bloqueados no %1$s, pág. %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Uma lista dos usuários proibidos de se associarem a este grupo."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Desbloquear o usuário do grupo"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Desbloquear"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Desbloquear este usuário"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Publicar em %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Nenhum código de confirmação."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "O código de confirmação não foi encontrado."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Esse não é o seu código de confirmação!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tipo de endereço %s não reconhecido."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Esse endereço já foi confirmado."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Não foi possível atualizar o usuário."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Não foi possível excluir a confirmação de e-mail."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Não foi possível excluir a confirmação do mensageiro instantâneo."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Confirme o endereço"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "O endereço \"%s\" foi confirmado para sua conta."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Conversa"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Mensagens"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Você precisa estar autenticado para excluir uma aplicação."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "A aplicação não foi encontrada."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Você não é o dono desta aplicação."
@@ -1341,15 +1438,18 @@ msgstr "Você não é o dono desta aplicação."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Ocorreu um problema com o seu token de sessão."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Excluir a aplicação"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1360,12 +1460,12 @@ msgstr ""
 "com os usuários."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Não excluir esta aplicação"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Excluir esta aplicação"
 
@@ -1401,13 +1501,14 @@ msgstr "Não foi possível atualizar o grupo."
 msgid "Deleted group %s"
 msgstr "%1$s deixou o grupo %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Excluir usuário"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1430,22 +1531,27 @@ msgstr "Não excluir esta mensagem."
 msgid "Delete this group"
 msgstr "Excluir este usuário"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Você não está autenticado."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Não é possível excluir esta mensagem."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1453,21 +1559,24 @@ msgstr ""
 "Você está prestes a excluir permanentemente uma mensagem. Isso não poderá "
 "ser desfeito."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Excluir a mensagem"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Tem certeza que deseja excluir esta mensagem?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Não excluir esta mensagem."
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Excluir esta mensagem"
 
@@ -1555,12 +1664,14 @@ msgstr ""
 "Você pode enviar um tema personalizado para o StatusNet, na forma de um "
 "arquivo .zip."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Alterar imagem do fundo"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Fundo"
 
@@ -1574,40 +1685,48 @@ msgstr ""
 "arquivo é de %1 $s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Ativado"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Desativado"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Ativar/desativar a imagem de fundo."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Ladrilhar a imagem de fundo"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Alterar a cor"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Conteúdo"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Barra lateral"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Texto"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Links"
 
@@ -1619,29 +1738,31 @@ msgstr "Avançado"
 msgid "Custom CSS"
 msgstr "CSS personalizado"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Usar o padrão|"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Restaura a aparência padrão"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Restaura de volta ao padrão"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Salvar"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Salvar a aparência"
 
@@ -1685,9 +1806,9 @@ msgid "Name is required."
 msgstr "O nome é obrigatório."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "O nome é muito extenso (máx. 255 caracteres)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1716,7 +1837,7 @@ msgid "Organization is required."
 msgstr "A organização é obrigatória."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "A organização é muito extensa (máx. 255 caracteres)."
@@ -1740,49 +1861,49 @@ msgstr "A URL de retorno não é válida."
 msgid "Could not update application."
 msgstr "Não foi possível atualizar a aplicação."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Editar o grupo %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Você deve estar autenticado para criar um grupo."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Você deve ser um administrador para editar o grupo."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Use esse formulário para editar o grupo."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Descrição muito extensa (máximo %d caracteres)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Muitos apelidos! O máximo são %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Apelido inválido: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Não foi possível atualizar o grupo."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Não foi possível criar os apelidos."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "As configurações foram salvas."
 
@@ -1978,6 +2099,12 @@ msgstr "Nenhuma confirmação pendente para cancelar."
 msgid "That is the wrong email address."
 msgstr "Esse é o endereço de e-mail errado."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Não foi possível excluir a confirmação de e-mail."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2062,7 +2189,7 @@ msgstr ""
 "primeiro a adicionar uma mensagem aos favoritos?"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Mensagens favoritas de %s"
@@ -2159,19 +2286,23 @@ msgstr "Você não pode definir papéis para os usuários neste site."
 msgid "User already has this role."
 msgstr "O usuário já possui este papel."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Não foi especificado nenhum perfil."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Não foi encontrado nenhum perfil com esse ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Não foi especificado nenhum grupo."
@@ -2238,8 +2369,10 @@ msgstr ""
 "Personalize a aparência do grupo com uma imagem de fundo e uma paleta de "
 "cores à sua escolha."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Não foi possível atualizar a aparência."
 
@@ -2259,6 +2392,14 @@ msgstr ""
 "Você pode enviar uma imagem de logo para o seu grupo. O tamanho máximo do "
 "arquivo é %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Enviar"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Cortar"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Selecione uma área quadrada da imagem para definir a logo"
@@ -2401,15 +2542,18 @@ msgstr ""
 "Por que você não [se cadastra](%%action.register%%) e [cria o grupo](%%"
 "action.newgroup%%) você mesmo?"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Somente um administrador pode desbloquear membros do grupo."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "O usuário não está bloqueado no grupo."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Erro na remoção do bloqueio."
 
@@ -2500,7 +2644,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publique um MicroID para meu endereço de Jabber/Gtalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "As preferências foram salvas."
 
@@ -2626,10 +2770,9 @@ msgstr[1] "Você já está assinando esses usuários:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2812,8 +2955,10 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr ""
+"Mensagem de boas vindas inválida. O comprimento máximo é de 255 caracteres."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2988,28 +3133,20 @@ msgstr "Você deve estar autenticado para registrar uma aplicação."
 msgid "Use this form to register a new application."
 msgstr "Utilize este formulário para registrar uma nova aplicação."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "O nome é muito extenso (máx. 255 caracteres)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "A URL da fonte é obrigatória."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "A organização é muito extensa (máx. 255 caracteres)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Não foi possível criar a aplicação."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Novo grupo"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Utilize este formulário para criar um novo grupo."
@@ -3019,14 +3156,14 @@ msgid "New message"
 msgstr "Nova mensagem"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Você não pode enviar mensagens para este usuário."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Nenhum conteúdo!"
 
@@ -3035,7 +3172,7 @@ msgid "No recipient specified."
 msgstr "Não foi especificado nenhum destinatário."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3048,12 +3185,12 @@ msgstr "A mensagem foi enviada"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "A mensagem direta para %s foi enviada."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Erro no Ajax"
 
@@ -3061,17 +3198,7 @@ msgstr "Erro no Ajax"
 msgid "New notice"
 msgstr "Nova mensagem"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Está muito extenso. O tamanho máximo é de %d caracteres."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "O tamanho máximo da mensagem é de %d caracteres"
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "A mensagem foi publicada"
 
@@ -3210,25 +3337,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "A mensagem não está associada a nenhum perfil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Mensagem de %1$s no %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "O tipo de conteúdo %s não é suportado."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Por favor, somente URLs %s sobre HTTP puro."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Não é um formato de dados suportado."
@@ -3241,36 +3368,46 @@ msgstr "Procurar pessoas"
 msgid "Notice Search"
 msgstr "Procurar mensagens"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Outras configurações"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Gerencia várias outras opções."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (serviço livre)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Encolher URLs com"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Serviço de encolhimento automático a ser utilizado."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Visualizar aparências do perfil"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Exibir ou esconder as aparências do perfil."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "O serviço de encolhimento de URL é muito extenso (máx. 50 caracteres)."
 
 #: actions/otp.php:69
@@ -3717,8 +3854,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 letras minúsculas ou números, sem pontuações ou espaços"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Nome completo"
@@ -3758,9 +3896,10 @@ msgid "Bio"
 msgstr "Descrição"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Localização"
@@ -4103,7 +4242,8 @@ msgid "Unexpected password reset."
 msgstr "Restauração inesperada da senha."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "A senha deve ter 6 ou mais caracteres."
 
 #: actions/recoverpassword.php:369
@@ -4349,7 +4489,7 @@ msgid "Repeated!"
 msgstr "Repetida!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Respostas para %s"
@@ -4482,11 +4622,12 @@ msgstr "Organização"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Descrição"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Estatísticas"
@@ -4504,6 +4645,11 @@ msgstr "Ações da aplicação"
 msgid "Reset key & secret"
 msgstr "Restaurar a chave e o segredo"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Excluir"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Informação da aplicação"
@@ -4596,77 +4742,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Esta é uma forma de compartilhar o que você gosta."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Grupo %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Grupo %1$s, pág. %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Perfil do grupo"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "Site"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Mensagem"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Apelidos"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Ações do grupo"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Fonte de mensagens do grupo %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Fonte de mensagens do grupo %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Fonte de mensagens do grupo %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF para o grupo %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Membros"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Nenhum)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Todos os membros"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Criado"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Membros"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4682,7 +4857,10 @@ msgstr ""
 "para se tornar parte deste grupo e muito mais! ([Saiba mais](%%%%doc.help%%%"
 "%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4695,24 +4873,31 @@ msgstr ""
 "[StatusNet](http://status.net/). Seus membros compartilham mensagens curtas "
 "sobre suas vidas e interesses. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administradores"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Essa mensagem não existe."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Apenas o remetente e o destinatário podem ler esta mensagem."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Mensagem para %1$s no %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Mensagem de %1$s no %2$s"
@@ -4721,49 +4906,69 @@ msgstr "Mensagem de %1$s no %2$s"
 msgid "Notice deleted."
 msgstr "A mensagem excluída."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr " etiquetada %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, pág. %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Mensagens etiquetadas com %1$s, pág. %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, pág. %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Fonte de mensagens de %1$s etiquetada como %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Fonte de mensagens de %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Fonte de mensagens de %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Fonte de mensagens de %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF de %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 "Este é o fluxo público de mensagens de %1$s, mas %2$s não publicou nada "
 "ainda."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4771,7 +4976,9 @@ msgstr ""
 "Viu alguma coisa interessante recentemente? Você ainda não publicou nenhuma "
 "mensagem. Que tal começar agora? :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4780,7 +4987,9 @@ msgstr ""
 "Seja o primeiro a [publicar sobre este tópico](%%%%action.newnotice%%%%?"
 "status_textarea=%s)!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4794,7 +5003,9 @@ msgstr ""
 "acompanhar as mensagens de **%s** e muito mais! ([Saiba mais](%%%%doc.help%%%"
 "%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4805,7 +5016,8 @@ msgstr ""
 "pt.wikipedia.org/wiki/Micro-blogging) baseado no software livre [StatusNet]"
 "(http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Repetição de %s"
@@ -4919,31 +5131,40 @@ msgstr ""
 "Quanto tempo (em segundos) os usuários devem esperar para publicar a mesma "
 "coisa novamente."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Avisos do site"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Editar os avisos do site (exibidos em todas as páginas)"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Não foi possível salvar os avisos do site."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "O tamanho máximo para os avisos é de 255 caracteres."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Texto dos avisos"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Texto dos avisos do site (no máximo 255 caracteres; pode usar HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Salvar os avisos do site"
 
@@ -5158,12 +5379,14 @@ msgstr "As estatísticas serão enviadas para esta URL"
 msgid "Save snapshot settings"
 msgstr "Salvar as configurações de estatísticas"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Você não está assinando esse perfil."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Não foi possível salvar a assinatura."
 
@@ -5405,76 +5628,94 @@ msgstr ""
 "do site."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Usuário"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Limite da descrição inválido. Seu valor deve ser numérico."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 "Mensagem de boas vindas inválida. O comprimento máximo é de 255 caracteres."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Assinatura padrão inválida: '%1$s' não é um usuário."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Perfil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Limite da descrição"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Comprimento máximo da descrição do perfil, em caracteres."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Novos usuários"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Boas vindas aos novos usuários"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Texto de boas vindas para os novos usuários (máx. 255 caracteres)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Assinatura padrão"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Os novos usuários assinam esse usuário automaticamente."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Convites"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Convites habilitados"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Define se os usuários podem ou não convidar novos usuários."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5582,11 +5823,13 @@ msgstr "Não é possível ler a URL '%s' do avatar."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Tipo de imagem errado para a URL '%s' do avatar."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Aparência do perfil"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5687,7 +5930,7 @@ msgid "Plugins"
 msgstr "Plugins"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Versão"
 
@@ -5720,31 +5963,42 @@ msgstr "o Robin acha que algo é impossível."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Nenhum arquivo pode ter mais de %1$d bytes e o que você enviou tinha %2$d "
+"bytes. Tente enviar uma versão mais pequena."
+msgstr[1] ""
 "Nenhum arquivo pode ter mais de %1$d bytes e o que você enviou tinha %2$d "
 "bytes. Tente enviar uma versão mais pequena."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Um arquivo deste tamanho excederá a sua conta de %d bytes."
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "Um arquivo deste tamanho excederá a sua conta de %d bytes."
+msgstr[1] "Um arquivo deste tamanho excederá a sua conta de %d bytes."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Um arquivo deste tamanho excederá a sua conta mensal de %d bytes."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Um arquivo deste tamanho excederá a sua conta mensal de %d bytes."
+msgstr[1] "Um arquivo deste tamanho excederá a sua conta mensal de %d bytes."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Nome de arquivo inválido."
 
@@ -5873,39 +6127,47 @@ msgid "Problem saving notice."
 msgstr "Problema no salvamento da mensagem."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "O tipo fornecido ao método saveKnownGroups é incorreto"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problema no salvamento das mensagens recebidas do grupo."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Não foi possível salvar a informação do grupo local."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Não é possível revogar a função \"%1$s\" do usuário #%2$d; não existe."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5977,32 +6239,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Bem vindo(a) a %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Nenhum usuário definido para o modo de usuário único."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Não foi possível criar o grupo."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Não foi possível definir a URI do grupo."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Não foi possível configurar a associação ao grupo."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Não foi possível salvar a informação do grupo local."
 
@@ -6052,194 +6314,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Página sem título"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Navegação primária no site"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Perfil pessoal e fluxo de mensagens dos amigos"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Pessoal"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Altere seu e-mail, avatar, senha, perfil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Conta"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Conecte-se a outros serviços"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Conectar"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Altere as configurações do site"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administrar"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Convide seus amigos e colegas para unir-se a você no %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Convidar"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Sair do site"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Sair"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Criar uma conta"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrar-se"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Autentique-se no site"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Entrar"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Ajudem-me!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Procure por pessoas ou textos"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Pesquisar"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Avisos do site"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Visualizações locais"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Notícia da página"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Navegação secundária no site"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Ajuda"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Sobre"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Termos de uso"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Privacidade"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Fonte"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Contato"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Mini-aplicativo"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Licença do software StatusNet"
 
@@ -6247,7 +6516,7 @@ msgstr "Licença do software StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6257,7 +6526,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%). "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** é um serviço de microblog."
@@ -6266,7 +6535,7 @@ msgstr "**%%site.name%%** é um serviço de microblog."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6278,26 +6547,26 @@ msgstr ""
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licença do conteúdo do site"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "O conteúdo e os dados de %1$s são privados e confidenciais."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "Conteúdo e dados licenciados sob %1$s. Todos os direitos reservados."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Conteúdo e dados licenciados pelos colaboradores. Todos os direitos "
@@ -6305,25 +6574,25 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Todo o conteúdo e dados de %1$s estão disponíveis sob a licença %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Paginação"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Próximo"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Anterior"
 
@@ -6404,7 +6673,7 @@ msgid "User configuration"
 msgstr "Configuração do usuário"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Usuário"
 
@@ -6672,7 +6941,7 @@ msgid "AJAX error"
 msgstr "Erro no Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "O comando foi completado"
 
@@ -6688,7 +6957,7 @@ msgstr "Não existe uma mensagem com essa id."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "O usuário não tem nenhuma \"última mensagem\"."
 
@@ -6758,6 +7027,14 @@ msgstr "%1$s associou-se ao grupo %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s deixou o grupo %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6797,115 +7074,121 @@ msgstr ""
 "%s é um perfil remoto; você pode só pode enviar mensagens diretas para "
 "usuários do mesmo servidor."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2$d."
+msgstr[1] ""
 "A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Ocorreu um erro durante o envio da mensagem direta."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "A mensagem de %s foi repetida."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Erro na repetição da mensagem."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2$d."
+msgstr[1] ""
 "A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "A resposta para %s foi enviada."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Erro no salvamento da mensagem."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Especifique o nome do usuário que será assinado."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Não é possível assinar perfis OMB com comandos."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Foi efetuada a assinatura de $s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Especifique o nome do usuário cuja assinatura será cancelada."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Foi cancelada a assinatura de %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "O comando não foi implementado ainda."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notificação desligada."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Não é possível desligar a notificação."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notificação ligada."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Não é possível ligar a notificação."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "O comando para autenticação está desabilitado."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6914,20 +7197,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Foi cancelada a assinatura de %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Você não está assinando ninguém."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Você já está assinando esta pessoa:"
@@ -6935,14 +7218,14 @@ msgstr[1] "Você já está assinando estas pessoas:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Ninguém o assinou ainda."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Esta pessoa está assinando você:"
@@ -6950,21 +7233,21 @@ msgstr[1] "Estas pessoas estão assinando você:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Você não é membro de nenhum grupo."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Você é membro deste grupo:"
 msgstr[1] "Você é membro destes grupos:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7109,26 +7392,42 @@ msgstr "Aplicações autorizadas conectadas"
 msgid "Database error"
 msgstr "Erro no banco de dados"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Enviar arquivo"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 "Você pode enviar sua imagem de fundo. O tamanho máximo do arquivo é de 2Mb."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"O servidor não conseguiu manipular a quantidade de dados do POST (%s bytes) "
-"devido à sua configuração atual."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Ativado"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Desativado"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Restaurar"
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "A aparência padrão foi restaurada."
 
@@ -7156,7 +7455,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7194,7 +7494,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 letras minúsculas ou números, sem pontuações ou espaços"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL para o site ou blog do grupo ou tópico"
 
 #: lib/groupeditform.php:168
@@ -7202,21 +7503,31 @@ msgid "Describe the group or topic"
 msgstr "Descreva o grupo ou tópico"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Descreva o grupo ou tópico em %d caracteres."
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Descreva o grupo ou tópico em %d caracteres."
+msgstr[1] "Descreva o grupo ou tópico em %d caracteres."
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 "Localização do grupo, caso tenha alguma, como \"cidade, estado (ou região), "
 "país\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Apelidos extras para o grupo, separado por vírgulas ou espaços, no máximo %d"
+msgstr[1] ""
 "Apelidos extras para o grupo, separado por vírgulas ou espaços, no máximo %d"
 
 #. TRANS: Menu item in the group navigation page.
@@ -7317,39 +7628,57 @@ msgstr "Esta página não está disponível em um tipo de mídia que você aceit
 msgid "Unsupported image file format."
 msgstr "Formato de imagem não suportado."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "O arquivo é muito grande. O tamanho máximo é de %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Envio parcial."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Erro no sistema durante o envio do arquivo."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Imagem inválida ou arquivo corrompido."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Nosso arquivo foi perdido."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Tipo de arquivo desconhecido"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "Mb"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "Mb"
+msgstr[1] "Mb"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "Kb"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "Kb"
+msgstr[1] "Kb"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7601,7 +7930,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) marcou sua mensagem como favorita"
@@ -7611,7 +7940,7 @@ msgstr "%s (@%s) marcou sua mensagem como favorita"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7649,7 +7978,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7662,7 +7991,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) enviou uma mensagem citando você"
@@ -7673,7 +8002,7 @@ msgstr "%s (@%s) enviou uma mensagem citando você"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7756,7 +8085,7 @@ msgstr "Desculpe-me, mas este não é seu endereço de e-mail para recebimento."
 msgid "Sorry, no incoming email allowed."
 msgstr "Desculpe-me, mas não é permitido o recebimento de e-mails."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Tipo de mensagem não suportado: %s"
@@ -7824,7 +8153,7 @@ msgstr "Não foi possível determinar o tipo MIME do arquivo."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7835,7 +8164,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "\"%s\" não é um tipo de arquivo suportado neste servidor."
@@ -7976,31 +8305,31 @@ msgstr "Nota duplicada."
 msgid "Couldn't insert new subscription."
 msgstr "Não foi possível inserir a nova assinatura."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Pessoal"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Respostas"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoritos"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Recebidas"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Suas mensagens recebidas"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Enviadas"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Suas mensagens enviadas"
 
@@ -8107,16 +8436,17 @@ msgid "Sandbox this user"
 msgstr "Colocar este usuário em isolamento"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Procurar no site"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Palavra(s)-chave"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8197,6 +8527,12 @@ msgstr "Nuvem de etiquetas pessoais definidas pelos outros usuário"
 msgid "None"
 msgstr "Nenhuma"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Nome de arquivo inválido."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8207,8 +8543,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "O arquivo do tema não foi localizado ou ocorreu uma erro no envio."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Não foi possível salvar o tema."
 
@@ -8217,16 +8553,20 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Tema inválido: estrutura de diretórios incorreta."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"O tema enviado é muito grande; ele deve ter menos de %d bytes descomprimido."
+msgstr[1] ""
 "O tema enviado é muito grande; ele deve ter menos de %d bytes descomprimido."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Arquivo de tema inválido: está faltando o arquivo css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8234,16 +8574,16 @@ msgstr ""
 "O tema contém um nome de arquivo ou de diretório inválido. Use somente "
 "caracteres ASCII, números e os sinais de sublinhado e hífen."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "O tema contém extensões de arquivo inseguras; pode não ser seguro."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "O tema contém um arquivo do tipo '.%s', que não é permitido."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 
@@ -8251,6 +8591,13 @@ msgstr "Ocorreu um erro ao abrir o arquivo do tema."
 msgid "Top posters"
 msgstr "Quem mais publica"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Desbloquear"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Tirar do isolamento"
@@ -8419,17 +8766,22 @@ msgstr[0] ""
 msgstr[1] ""
 "A mensagem é muito extensa - o máximo são %1$d caracteres e você enviou %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Não foi especificado nenhum ID de usuário."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index bab3e27b719a90e4052e4aea6e6b85bcd4802ab3..41389a7b3ea6b7f11630dd111d700453d8783ecc 100644 (file)
@@ -14,18 +14,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:35+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:43+0000\n"
 "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ru\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
 "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -83,15 +83,22 @@ msgstr "Сохранить настройки доступа"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Сохранить"
@@ -122,6 +129,7 @@ msgstr "Нет такой страницы."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -134,14 +142,14 @@ msgstr "Нет такой страницы."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Нет такого пользователя."
@@ -158,7 +166,7 @@ msgstr "%1$s и друзья, страница %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s и друзья"
@@ -212,7 +220,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -312,11 +322,12 @@ msgstr "Не удаётся обновить пользователя."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -329,11 +340,13 @@ msgstr "Не удаётся сохранить профиль."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -515,44 +528,54 @@ msgstr "Не удаётся определить исходного пользо
 msgid "Could not find target user."
 msgstr "Не удаётся найти целевого пользователя."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 "Имя должно состоять только из прописных букв и цифр и не иметь пробелов."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Такое имя уже используется. Попробуйте какое-нибудь другое."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Неверное имя."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "URL Главной страницы неверен."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -561,10 +584,14 @@ msgstr "Полное имя слишком длинное (не больше 255
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -573,9 +600,11 @@ msgstr[1] "Слишком длинное описание (максимум %d 
 msgstr[2] "Слишком длинное описание (максимум %d символов)"
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -583,7 +612,12 @@ msgstr "Слишком длинное месторасположение (мак
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -600,15 +634,19 @@ msgstr "Ошибочный псевдоним: «%s»."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Алиас «%s» уже используется. Попробуйте какой-нибудь другой."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Алиас не может совпадать с именем."
 
@@ -713,21 +751,21 @@ msgid "Request token already authorized."
 msgstr "Вы не авторизованы."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Проблема с вашим ключом сессии. Пожалуйста, попробуйте ещё раз."
 
@@ -743,17 +781,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Ошибка базы данных при добавлении пользователя приложения OAuth."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Нетиповое подтверждение формы."
 
@@ -804,9 +844,10 @@ msgstr "Аккаунт"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -898,20 +939,21 @@ msgstr "Вы не можете удалять статус других поль
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Нет такой записи."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Невозможно повторить собственную запись."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Запись уже повторена."
 
@@ -932,7 +974,8 @@ msgstr "Клиент должен предоставить параметр «st
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -948,7 +991,7 @@ msgstr "Метод API не найден."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1054,105 +1097,140 @@ msgstr "Метод API реконструируется."
 msgid "User not found."
 msgstr "Метод API не найден."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Нет такого вложения."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Нет имени."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Нет размера."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Неверный размер."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Аватара"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Вы можете загрузить свою аватару. Максимальный размер файла составляет %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Пользователь без соответствующего профиля."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Настройки аватары"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Оригинал"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Просмотр"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Удалить"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Загрузить"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Обрезать"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Файл не загружен."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Подберите нужный квадратный участок для вашей аватары"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Потеряна информация о файле."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Аватара обновлена."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Неудача при обновлении аватары."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Аватара удалена."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Вы уже заблокировали этого пользователя."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Заблокировать пользователя."
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1168,8 +1246,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1177,7 +1255,7 @@ msgstr "Нет"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Не блокировать этого пользователя"
 
@@ -1187,8 +1265,8 @@ msgstr "Не блокировать этого пользователя"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1196,140 +1274,170 @@ msgstr "Да"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Заблокировать пользователя."
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Не удаётся сохранить информацию о блокировании."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Нет такой группы."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "Заблокированные профили %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Заблокированные профили %1$s, страница %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Список пользователей, заблокированных от присоединения к этой группе."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Разблокировать пользователя в группе."
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Разблокировать"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Разблокировать пользователя."
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Отправить в %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Нет кода подтверждения."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Код подтверждения не найден."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Это не Ваш код подтверждения!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Нераспознанный тип адреса %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Этот адрес уже подтверждён."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Не удаётся обновить пользователя."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Не удаётся удалить подверждение по электронному адресу."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Не удаётся удалить подверждение IM."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Подтвердить адрес"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Адрес «%s» подтверждён для вашего аккаунта."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Дискуссия"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Записи"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Вы должны войти в систему, чтобы удалить приложение."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Приложение не найдено."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Вы не являетесь владельцем этого приложения."
@@ -1337,15 +1445,18 @@ msgstr "Вы не являетесь владельцем этого прило
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Проблема с вашим ключом сессии."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Удалить приложение"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1356,12 +1467,12 @@ msgstr ""
 "пользователей."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Не удаляйте это приложение"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Удалить это приложение"
 
@@ -1397,13 +1508,14 @@ msgstr "Не удаётся обновить информацию о групп
 msgid "Deleted group %s"
 msgstr "%1$s покинул группу %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Удалить пользователя"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1424,22 +1536,27 @@ msgstr "Не удаляйте эту группу"
 msgid "Delete this group"
 msgstr "Удалить эту группу"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Не авторизован."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Не удаётся удалить эту запись."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1447,21 +1564,24 @@ msgstr ""
 "Вы окончательно удаляете запись. После того, как это будет сделано, "
 "восстановление будет невозможно."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Удалить запись"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Вы уверены, что хотите удалить эту запись?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Не удалять эту запись"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Удалить эту запись"
 
@@ -1547,12 +1667,14 @@ msgstr "Особая тема"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Вы можете загрузить особую тему StatusNet в виде ZIP-архива."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Изменение фонового изображения"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Фон"
 
@@ -1566,40 +1688,48 @@ msgstr ""
 "составляет %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Включить"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Отключить"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Включить или отключить показ фонового изображения."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Растянуть фоновое изображение"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Изменение цветовой гаммы"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Содержание"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Боковая панель"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Текст"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Ссылки"
 
@@ -1611,29 +1741,31 @@ msgstr "Расширенный"
 msgid "Custom CSS"
 msgstr "Особый CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Использовать значения по умолчанию"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Восстановить оформление по умолчанию"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Восстановить значения по умолчанию"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Сохранить"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Сохранить оформление"
 
@@ -1677,9 +1809,9 @@ msgid "Name is required."
 msgstr "Имя обязательно."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Имя слишком длинное (не больше 255 знаков)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1708,7 +1840,7 @@ msgid "Organization is required."
 msgstr "Организация обязательна."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Слишком длинное название организации (максимум 255 знаков)."
@@ -1732,49 +1864,49 @@ msgstr "URL-адрес обратного вызова недействител
 msgid "Could not update application."
 msgstr "Не удаётся обновить приложение."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Изменить информацию о группе %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Вы должны авторизоваться, чтобы создать новую группу."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Вы должны быть администратором, чтобы изменять информацию о группе."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Заполните информацию о группе в следующие поля"
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Слишком длинное описание (максимум %d символов)"
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Слишком много алиасов! Максимальное число — %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Неверный алиас: «%s»"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Не удаётся обновить информацию о группе."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Не удаётся создать алиасы."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Настройки сохранены."
 
@@ -1976,6 +2108,12 @@ msgstr "Нет подтверждения отказа."
 msgid "That is the wrong email address."
 msgstr "Это неверный адрес эл. почты."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Не удаётся удалить подверждение по электронному адресу."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2059,7 +2197,7 @@ msgstr ""
 "запись в число любимых?"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Любимые записи %s"
@@ -2156,19 +2294,23 @@ msgstr "Вы не можете назначать пользователю ро
 msgid "User already has this role."
 msgstr "Пользователь уже имеет эту роль."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Профиль не определен."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Нет профиля с таким ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Группа не определена."
@@ -2234,8 +2376,10 @@ msgstr ""
 "Настройте внешний вид группы, установив фоновое изображение и цветовую гамму "
 "на ваш выбор."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Не удаётся обновить ваше оформление."
 
@@ -2255,6 +2399,14 @@ msgstr ""
 "Здесь вы можете загрузить логотип для группы. Максимальный размер файла "
 "составляет %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Загрузить"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Обрезать"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Подберите нужный квадратный участок для вашего логотипа."
@@ -2397,15 +2549,18 @@ msgstr ""
 "Почему бы не [зарегистрироваться](%%action.register%%), чтобы [создать "
 "группу](%%action.newgroup%%) самому?"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Только администратор может разблокировать участников группы."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Пользователь не заблокировал вас из группы."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Ошибка при удалении данного блока."
 
@@ -2495,7 +2650,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Опубликовать MicroID для моего Jabber/GTalk - адреса."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Предпочтения сохранены."
 
@@ -2623,10 +2778,9 @@ msgstr[2] "Вы уже подписаны на пользователя:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2815,7 +2969,8 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Неверное название лицензии. Максимальная длина 255 символов."
 
 #: actions/licenseadminpanel.php:168
@@ -2988,28 +3143,20 @@ msgstr "Вы должны авторизоваться, чтобы зареги
 msgid "Use this form to register a new application."
 msgstr "Используйте эту форму для создания нового приложения."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Имя слишком длинное (не больше 255 знаков)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "URL источника обязателен."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Слишком длинное название организации (максимум 255 знаков)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Не удаётся создать приложение."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Новая группа"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Используйте эту форму для создания новой группы."
@@ -3019,14 +3166,14 @@ msgid "New message"
 msgstr "Новое сообщение"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Вы не можете послать сообщение этому пользователю."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Нет контента!"
 
@@ -3035,7 +3182,7 @@ msgid "No recipient specified."
 msgstr "Нет адресата."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "Не посылайте сообщения сами себе; просто потихоньку скажите это себе."
@@ -3046,12 +3193,12 @@ msgstr "Сообщение отправлено"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Прямое сообщение для %s послано."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ошибка AJAX"
 
@@ -3059,17 +3206,7 @@ msgstr "Ошибка AJAX"
 msgid "New notice"
 msgstr "Новая запись"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Слишком длинная запись. Максимальная длина — %d знаков."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Максимальная длина записи — %d символов, включая URL вложения."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Запись опубликована"
 
@@ -3207,25 +3344,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Уведомление не имеет профиля."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Статус %1$s на %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Тип содержимого %s не поддерживается."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Только %s URL в простом HTTP, пожалуйста."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Неподдерживаемый формат данных."
@@ -3238,36 +3375,46 @@ msgstr "Поиск людей"
 msgid "Notice Search"
 msgstr "Поиск в записях"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Другие настройки"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Управление другими опциями."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (бесплатный сервис)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Сокращать URL с помощью"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Автоматически использовать выбранный сервис"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Показать оформления профиля"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Показать или скрыть оформления профиля."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Сервис сокращения URL слишком длинный (максимум 50 символов)."
 
 #: actions/otp.php:69
@@ -3708,8 +3855,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 латинских строчных буквы или цифры, без пробелов"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Полное имя"
@@ -3750,9 +3898,10 @@ msgid "Bio"
 msgstr "Биография"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Месторасположение"
@@ -4091,7 +4240,8 @@ msgid "Unexpected password reset."
 msgstr "Нетиповая переустановка пароля."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Пароль должен быть длиной не менее 6 символов."
 
 #: actions/recoverpassword.php:369
@@ -4335,7 +4485,7 @@ msgid "Repeated!"
 msgstr "Повторено!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Ответы для %s"
@@ -4469,11 +4619,12 @@ msgstr "Организация"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Описание"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Статистика"
@@ -4491,6 +4642,11 @@ msgstr "Действия приложения"
 msgid "Reset key & secret"
 msgstr "Сбросить ключ и секретную фразу"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Удалить"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Информация о приложении"
@@ -4584,77 +4740,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Это способ поделиться тем, что вам нравится."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Группа %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Группа %1$s, страница %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Профиль группы"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Запись"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Алиасы"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Действия группы"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Лента записей группы %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Лента записей группы %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Лента записей группы %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF для группы %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Участники"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(пока ничего нет)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Все участники"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Создано"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Участники"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4670,7 +4855,10 @@ msgstr ""
 "action.register%%%%), чтобы стать участником группы и получить множество "
 "других возможностей! ([Читать далее](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4683,24 +4871,31 @@ msgstr ""
 "обеспечении [StatusNet](http://status.net/). Участники обмениваются "
 "короткими сообщениями о своей жизни и интересах. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Администраторы"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Нет такого сообщения."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Только отправитель и получатель могут читать это сообщение."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Сообщение для %1$s на %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Сообщение от %1$s на %2$s"
@@ -4709,47 +4904,67 @@ msgstr "Сообщение от %1$s на %2$s"
 msgid "Notice deleted."
 msgstr "Запись удалена."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "  с тегом %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, страница %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Записи с тегом %1$s, страница %2$d"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, страница %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Лента записей %1$s с тегом %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Лента записей для %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Лента записей для %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Лента записей для %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF для %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Это лента %1$s, однако %2$s пока ничего не отправил."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4757,7 +4972,9 @@ msgstr ""
 "Видели недавно что-нибудь интересное? Вы ещё не отправили ни одной записи, "
 "сейчас хорошее время  для начала :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4766,7 +4983,9 @@ msgstr ""
 "Вы можете попробовать «подтолкнуть» %1$s или [написать что-нибудь для них](%%%"
 "%action.newnotice%%%%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4781,7 +5000,9 @@ msgstr ""
 "сообщения  участника **%s** и иметь доступ ко множеству других возможностей! "
 "([Читать далее](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4793,7 +5014,8 @@ msgstr ""
 "использованием свободного программного обеспечения [StatusNet](http://status."
 "net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Повтор за %s"
@@ -4907,31 +5129,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Сколько нужно ждать пользователям (в секундах) для отправки того же ещё раз."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Уведомление сайта"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Изменить уведомление для всего сайта"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Не удаётся сохранить уведомление сайта."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Максимальная длина уведомления сайта составляет 255 символов."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Текст уведомления сайта"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Текст уведомления сайта (максимум 255 символов; допустим HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Сохранить уведомление сайта"
 
@@ -5149,12 +5380,14 @@ msgstr "Снимки будут отправляться по этому URL-а
 msgid "Save snapshot settings"
 msgstr "Сохранить настройки снимка"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Вы не подписаны на этот профиль."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Не удаётся сохранить подписку."
 
@@ -5398,76 +5631,94 @@ msgstr ""
 "Лицензия просматриваемого потока «%1$s» несовместима с лицензией сайта «%2$s»."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Пользователь"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Неверное ограничение биографии. Должно быть числом."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 "Неверный текст приветствия. Максимальная длина составляет 255 символов."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Неверная подписка по умолчанию: «%1$s» не является пользователем."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Профиль"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Ограничение биографии"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Максимальная длина биографии профиля в символах."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Новые пользователи"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Приветствие новым пользователям"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Текст приветствия для новых пользователей (максимум 255 символов)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Подписка по умолчанию"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Автоматически подписывать новых пользователей на этого пользователя."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Приглашения"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Приглашения включены"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Разрешать ли пользователям приглашать новых пользователей."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5573,11 +5824,13 @@ msgstr "Не удаётся прочитать URL аватары «%s»"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Неверный тип изображения для URL аватары «%s»."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Оформление профиля"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5677,7 +5930,7 @@ msgid "Plugins"
 msgstr "Плагины"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Версия"
 
@@ -5710,31 +5963,50 @@ msgstr "Робин считает, что это невозможно."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Файл не может быть больше %1$d байт, тогда как отправленный вами файл "
+"содержал %2$d байт. Попробуйте загрузить меньшую версию."
+msgstr[1] ""
+"Файл не может быть больше %1$d байт, тогда как отправленный вами файл "
+"содержал %2$d байт. Попробуйте загрузить меньшую версию."
+msgstr[2] ""
 "Файл не может быть больше %1$d байт, тогда как отправленный вами файл "
 "содержал %2$d байт. Попробуйте загрузить меньшую версию."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Файл такого размера превысит вашу пользовательскую квоту в %d байта."
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+"Файл такого размера превысит вашу пользовательскую квоту в %d байта."
+msgstr[1] ""
+"Файл такого размера превысит вашу пользовательскую квоту в %d байта."
+msgstr[2] ""
+"Файл такого размера превысит вашу пользовательскую квоту в %d байта."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Файл такого размера превысит вашу месячную квоту в %d байта."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Файл такого размера превысит вашу месячную квоту в %d байта."
+msgstr[1] "Файл такого размера превысит вашу месячную квоту в %d байта."
+msgstr[2] "Файл такого размера превысит вашу месячную квоту в %d байта."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Неверное имя файла."
 
@@ -5863,32 +6135,40 @@ msgid "Problem saving notice."
 msgstr "Проблемы с сохранением записи."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Для saveKnownGroups указан неверный тип"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Проблемы с сохранением входящих сообщений группы."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
@@ -5897,7 +6177,7 @@ msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5968,32 +6248,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Добро пожаловать на %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Ни задан пользователь для однопользовательского режима."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Не удаётся создать группу."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Не удаётся назначить URI группы."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Не удаётся назначить членство в группе."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Не удаётся сохранить информацию о локальной группе."
 
@@ -6043,194 +6323,201 @@ msgstr "%1$s — %2$s"
 msgid "Untitled page"
 msgstr "Страница без названия"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Главная навигация"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Личный профиль и лента друзей"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Личное"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Изменить ваш email, аватар, пароль, профиль"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Настройки"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Соединить с сервисами"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Соединить"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Изменить конфигурацию сайта"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Настройки"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Пригласите друзей и коллег стать такими же как Вы участниками %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Пригласить"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Выйти"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Выход"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Создать новый аккаунт"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Регистрация"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Войти"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Вход"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Помощь"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Помощь"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Искать людей или текст"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Поиск"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Уведомление сайта"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Локальные виды"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Новая запись"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Навигация по подпискам"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Помощь"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "О проекте"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "ЧаВо"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "TOS"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Пользовательское соглашение"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Исходный код"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Контактная информация"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Бедж"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet лицензия"
 
@@ -6238,7 +6525,7 @@ msgstr "StatusNet лицензия"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6248,7 +6535,7 @@ msgstr ""
 "broughtby%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** — сервис микроблогинга."
@@ -6257,7 +6544,7 @@ msgstr "**%%site.name%%** — сервис микроблогинга."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6270,27 +6557,27 @@ msgstr ""
 "licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Лицензия содержимого сайта"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Содержание и данные %1$s являются личными и конфиденциальными."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 "Авторские права на содержание и данные принадлежат %1$s. Все права защищены."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Авторские права на содержание и данные принадлежат разработчикам. Все права "
@@ -6298,25 +6585,25 @@ msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Все материалы и данные %1$s доступны на условиях лицензии %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Разбиение на страницы"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Сюда"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Туда"
 
@@ -6395,7 +6682,7 @@ msgid "User configuration"
 msgstr "Конфигурация пользователя"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Пользователь"
 
@@ -6663,7 +6950,7 @@ msgid "AJAX error"
 msgstr "Ошибка AJAX"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Команда завершена"
 
@@ -6679,7 +6966,7 @@ msgstr "Записи с таким id не существует."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "У пользователя нет последней записи."
 
@@ -6748,6 +7035,14 @@ msgstr "%1$s присоединился к группе %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s покинул группу %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6787,114 +7082,125 @@ msgstr ""
 "%s профиль другой системы; вы можете отсылать личное сообщение только "
 "пользователям этой системы."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
+msgstr[1] ""
+"Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
+msgstr[2] ""
 "Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Ошибка при отправке прямого сообщения."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Запись %s повторена."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Ошибка при повторении записи."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Запись слишком длинная — не больше %1$d символов, вы отправили %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Запись слишком длинная — не больше %1$d символов, вы отправили %2$d."
+msgstr[1] ""
+"Запись слишком длинная — не больше %1$d символов, вы отправили %2$d."
+msgstr[2] ""
+"Запись слишком длинная — не больше %1$d символов, вы отправили %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Ответ %s отправлен."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Проблемы с сохранением записи."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Укажите имя пользователя для подписки."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Невозможно подписаться командой на профили OMB."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Подписался на %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Укажите имя пользователя для отмены подписки."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Отписаться от %s."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Команда ещё не выполнена."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Оповещение отсутствует."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Нет оповещения."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Есть оповещение."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Есть оповещение."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Команда входа отключена."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6903,20 +7209,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Отписано %s."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Вы ни на кого не подписаны."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Вы подписаны на этих людей:"
@@ -6925,14 +7231,14 @@ msgstr[2] "Вы подписаны на этих людей:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Никто не подписан на вас."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Эти люди подписались на вас:"
@@ -6941,14 +7247,14 @@ msgstr[2] "Эти люди подписались на вас:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Вы не состоите ни в одной группе."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Вы являетесь участником следующих групп:"
@@ -6956,7 +7262,7 @@ msgstr[1] "Вы являетесь участником следующих гр
 msgstr[2] "Вы являетесь участником следующих групп:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7100,10 +7406,13 @@ msgstr "Авторизованные соединённые приложения
 msgid "Database error"
 msgstr "Ошибка базы данных"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Загрузить файл"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7111,16 +7420,29 @@ msgstr ""
 "Вы можете загрузить собственное фоновое изображение. Максимальный размер "
 "файла составляет 2МБ."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Сервер не смог обработать столько POST-данных (%s байт) из-за текущей "
-"конфигурации."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Включить"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Отключить"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Сбросить"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Оформление по умолчанию восстановлено."
 
@@ -7148,7 +7470,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7186,7 +7509,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 латинских строчных буквы или цифры, без пробелов"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "Адрес страницы, дневника или профиля группы на другом портале"
 
 #: lib/groupeditform.php:168
@@ -7194,19 +7518,34 @@ msgid "Describe the group or topic"
 msgstr "Опишите группу или тему"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Опишите группу или тему при помощи %d символов"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Опишите группу или тему при помощи %d символов"
+msgstr[1] "Опишите группу или тему при помощи %d символов"
+msgstr[2] "Опишите группу или тему при помощи %d символов"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Где находится группа, например «Город, область, страна»"
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Дополнительные имена для группы, разделённые запятой или пробелом, максимум %"
+"d имён"
+msgstr[1] ""
+"Дополнительные имена для группы, разделённые запятой или пробелом, максимум %"
+"d имён"
+msgstr[2] ""
 "Дополнительные имена для группы, разделённые запятой или пробелом, максимум %"
 "d имён"
 
@@ -7308,39 +7647,60 @@ msgstr "Страница недоступна для того типа, кото
 msgid "Unsupported image file format."
 msgstr "Неподдерживаемый формат файла изображения."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Этот файл слишком большой. Максимальный размер файла составляет %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Частичная загрузка."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Системная ошибка при загрузке файла."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Не является изображением или повреждённый файл."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Потерян файл."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Неподдерживаемый тип файла"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "МБ"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "МБ"
+msgstr[1] "МБ"
+msgstr[2] "МБ"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "КБ"
+msgstr[1] "КБ"
+msgstr[2] "КБ"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "КБ"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7591,7 +7951,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) добавил вашу запись в число своих любимых"
@@ -7601,7 +7961,7 @@ msgstr "%s (@%s) добавил вашу запись в число своих 
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7639,7 +7999,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7652,7 +8012,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s)  отправил запись для вашего внимания"
@@ -7663,7 +8023,7 @@ msgstr "%s (@%s)  отправил запись для вашего вниман
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7745,7 +8105,7 @@ msgstr "Простите, это не Ваш входящий электронн
 msgid "Sorry, no incoming email allowed."
 msgstr "Простите, входящих писем нет."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Неподдерживаемый формат файла изображения: %s"
@@ -7810,7 +8170,7 @@ msgstr "Не удаётся определить mime-тип файла."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7819,7 +8179,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7960,31 +8320,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Не удаётся вставить новую подписку."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Личное"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Ответы"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Любимое"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Входящие"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Ваши входящие сообщения"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Исходящие"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Ваши исходящие сообщения"
 
@@ -8091,16 +8451,17 @@ msgid "Sandbox this user"
 msgstr "Установить режим песочницы для этого пользователя"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Поиск по сайту"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Ключевые слова"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8181,6 +8542,12 @@ msgstr "Облако тегов людей"
 msgid "None"
 msgstr "Нет тегов"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Неверное имя файла."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "Этот сервер не может обработать загруженные темы без поддержки ZIP."
@@ -8190,8 +8557,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Файл темы отсутствует или произошёл сбой при загрузке."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Ошибка при сохранении темы."
 
@@ -8200,17 +8567,25 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Ошибочная тема. Плохая структура директорий."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Размер загруженной темы слишком велик, в распакованном виде она должна "
+"занимать не более %d байт."
+msgstr[1] ""
+"Размер загруженной темы слишком велик, в распакованном виде она должна "
+"занимать не более %d байт."
+msgstr[2] ""
 "Размер загруженной темы слишком велик, в распакованном виде она должна "
 "занимать не более %d байт."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Недопустимый архив: темы. Отсутствует файл css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8218,16 +8593,16 @@ msgstr ""
 "Тема содержит недопустимое имя файла или папки. Допустимы буквы ASCII, "
 "цифры, подчеркивание и знак минуса."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Тема содержит файлы с опасным расширением; это может быть небезопасно."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Тема содержит файл недопустимого типа «.%s»."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Ошибка открытия архива темы."
 
@@ -8235,6 +8610,13 @@ msgstr "Ошибка открытия архива темы."
 msgid "Top posters"
 msgstr "Самые активные"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Разблокировать"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Снять режим песочницы"
@@ -8411,17 +8793,23 @@ msgstr[1] ""
 msgstr[2] ""
 "Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Не указан идентификатор пользователя."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
index aafae13c142d98915c6b9ad3b4e42ee7701646d7..0baa50c926dfb63d44dab4a23082bc29d5459c53 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+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"
@@ -72,15 +72,22 @@ msgstr ""
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr ""
@@ -111,6 +118,7 @@ msgstr ""
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -123,14 +131,14 @@ msgstr ""
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr ""
@@ -147,7 +155,7 @@ msgstr ""
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr ""
@@ -197,7 +205,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -293,11 +303,12 @@ msgstr ""
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -310,11 +321,13 @@ msgstr ""
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -483,43 +496,53 @@ msgstr ""
 msgid "Could not find target user."
 msgstr ""
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr ""
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr ""
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr ""
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr ""
@@ -527,10 +550,14 @@ msgstr ""
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -538,16 +565,23 @@ msgstr[0] ""
 msgstr[1] ""
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr ""
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -563,15 +597,19 @@ msgstr ""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr ""
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr ""
 
@@ -674,21 +712,21 @@ msgid "Request token already authorized."
 msgstr ""
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -703,17 +741,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr ""
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr ""
 
@@ -756,9 +796,10 @@ msgstr ""
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -848,20 +889,21 @@ msgstr ""
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr ""
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr ""
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr ""
 
@@ -882,7 +924,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -896,7 +939,7 @@ msgstr ""
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1000,104 +1043,136 @@ msgstr ""
 msgid "User not found."
 msgstr ""
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr ""
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr ""
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr ""
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr ""
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr ""
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr ""
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr ""
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr ""
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr ""
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr ""
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr ""
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr ""
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr ""
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr ""
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr ""
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr ""
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr ""
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr ""
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1110,8 +1185,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1119,7 +1194,7 @@ msgstr ""
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr ""
 
@@ -1129,8 +1204,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1138,140 +1213,168 @@ msgstr ""
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr ""
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr ""
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr ""
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr ""
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr ""
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr ""
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr ""
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr ""
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr ""
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr ""
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr ""
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr ""
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr ""
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr ""
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr ""
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr ""
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
 msgstr ""
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr ""
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr ""
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr ""
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr ""
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr ""
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr ""
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr ""
@@ -1279,15 +1382,18 @@ msgstr ""
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr ""
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1295,12 +1401,12 @@ msgid ""
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr ""
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr ""
 
@@ -1334,12 +1440,13 @@ msgstr ""
 msgid "Deleted group %s"
 msgstr ""
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr ""
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1357,42 +1464,50 @@ msgstr ""
 msgid "Delete this group"
 msgstr ""
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr ""
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr ""
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr ""
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr ""
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr ""
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr ""
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr ""
 
@@ -1474,12 +1589,14 @@ msgstr ""
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr ""
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr ""
 
@@ -1491,40 +1608,48 @@ msgid ""
 msgstr ""
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr ""
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr ""
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr ""
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr ""
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr ""
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr ""
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr ""
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr ""
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr ""
 
@@ -1536,29 +1661,31 @@ msgstr ""
 msgid "Custom CSS"
 msgstr ""
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr ""
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr ""
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr ""
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr ""
 
@@ -1602,8 +1729,8 @@ msgid "Name is required."
 msgstr ""
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
 msgstr ""
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1632,7 +1759,7 @@ msgid "Organization is required."
 msgstr ""
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr ""
 
@@ -1655,49 +1782,49 @@ msgstr ""
 msgid "Could not update application."
 msgstr ""
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr ""
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr ""
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr ""
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr ""
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr ""
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr ""
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr ""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr ""
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr ""
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr ""
 
@@ -1884,6 +2011,12 @@ msgstr ""
 msgid "That is the wrong email address."
 msgstr ""
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr ""
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -1961,7 +2094,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr ""
@@ -2058,19 +2191,23 @@ msgstr ""
 msgid "User already has this role."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr ""
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr ""
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr ""
@@ -2131,8 +2268,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr ""
 
@@ -2150,6 +2289,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr ""
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr ""
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr ""
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr ""
@@ -2281,15 +2428,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr ""
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr ""
 
@@ -2370,7 +2520,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr ""
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr ""
 
@@ -2489,10 +2639,9 @@ msgstr[1] ""
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr ""
 
@@ -2643,7 +2792,7 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr ""
 
 #: actions/licenseadminpanel.php:168
@@ -2811,26 +2960,20 @@ msgstr ""
 msgid "Use this form to register a new application."
 msgstr ""
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr ""
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr ""
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr ""
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr ""
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr ""
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr ""
@@ -2840,14 +2983,14 @@ msgid "New message"
 msgstr ""
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr ""
 
@@ -2856,7 +2999,7 @@ msgid "No recipient specified."
 msgstr ""
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2867,12 +3010,12 @@ msgstr ""
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr ""
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr ""
 
@@ -2880,17 +3023,7 @@ msgstr ""
 msgid "New notice"
 msgstr ""
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr ""
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr ""
 
@@ -3019,25 +3152,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr ""
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr ""
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr ""
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr ""
@@ -3050,36 +3183,45 @@ msgstr ""
 msgid "Notice Search"
 msgstr ""
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr ""
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr ""
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr ""
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr ""
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr ""
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr ""
 
 #: actions/otp.php:69
@@ -3499,8 +3641,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr ""
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr ""
@@ -3539,9 +3682,10 @@ msgid "Bio"
 msgstr ""
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr ""
@@ -3860,7 +4004,7 @@ msgid "Unexpected password reset."
 msgstr ""
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+msgid "Password must be 6 characters or more."
 msgstr ""
 
 #: actions/recoverpassword.php:369
@@ -4075,7 +4219,7 @@ msgid "Repeated!"
 msgstr ""
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr ""
@@ -4202,11 +4346,12 @@ msgstr ""
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr ""
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr ""
@@ -4224,6 +4369,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr ""
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4307,77 +4457,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr ""
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr ""
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr ""
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr ""
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr ""
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr ""
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr ""
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr ""
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr ""
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr ""
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr ""
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr ""
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr ""
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr ""
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr ""
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr ""
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4387,7 +4564,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4396,24 +4576,31 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr ""
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr ""
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr ""
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr ""
@@ -4422,60 +4609,84 @@ msgstr ""
 msgid "Notice deleted."
 msgstr ""
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
 #, php-format
-msgid " tagged %s"
+msgid "%1$s tagged %2$s"
 msgstr ""
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr ""
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr ""
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr ""
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr ""
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr ""
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr ""
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4484,7 +4695,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4492,7 +4705,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr ""
@@ -4602,31 +4816,38 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr ""
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr ""
 
@@ -4835,12 +5056,14 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr ""
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr ""
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr ""
 
@@ -5065,75 +5288,91 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr ""
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr ""
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr ""
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr ""
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr ""
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr ""
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr ""
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr ""
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr ""
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5232,11 +5471,13 @@ msgstr ""
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr ""
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr ""
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5321,7 +5562,7 @@ msgid "Plugins"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr ""
 
@@ -5354,29 +5595,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr ""
 
@@ -5501,39 +5751,46 @@ msgid "Problem saving notice."
 msgstr ""
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr ""
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr ""
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5603,32 +5860,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr ""
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr ""
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr ""
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr ""
 
@@ -5678,194 +5935,201 @@ msgstr ""
 msgid "Untitled page"
 msgstr ""
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr ""
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr ""
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr ""
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr ""
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr ""
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr ""
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr ""
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr ""
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr ""
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr ""
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr ""
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr ""
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr ""
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr ""
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr ""
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr ""
 
@@ -5873,7 +6137,7 @@ msgstr ""
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -5881,7 +6145,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr ""
@@ -5890,7 +6154,7 @@ msgstr ""
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -5899,50 +6163,50 @@ msgid ""
 msgstr ""
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr ""
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr ""
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr ""
 
@@ -6021,7 +6285,7 @@ msgid "User configuration"
 msgstr ""
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr ""
 
@@ -6279,7 +6543,7 @@ msgid "AJAX error"
 msgstr ""
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr ""
 
@@ -6295,7 +6559,7 @@ msgstr ""
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr ""
 
@@ -6361,6 +6625,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr ""
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6398,133 +6670,137 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr ""
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr ""
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr ""
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr ""
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr ""
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr ""
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] ""
@@ -6532,14 +6808,14 @@ msgstr[1] ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] ""
@@ -6547,21 +6823,21 @@ msgstr[1] ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr ""
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] ""
 msgstr[1] ""
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6662,23 +6938,38 @@ msgstr ""
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr ""
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr ""
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr ""
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr ""
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
 msgstr ""
 
-#: lib/designsettings.php:418
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -6706,7 +6997,8 @@ msgstr ""
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -6744,7 +7036,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr ""
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr ""
 
 #: lib/groupeditform.php:168
@@ -6753,18 +7045,26 @@ msgstr ""
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr ""
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr ""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -6864,39 +7164,57 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr ""
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr ""
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr ""
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr ""
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr ""
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr ""
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr ""
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr ""
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7088,7 +7406,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr ""
@@ -7098,7 +7416,7 @@ msgstr ""
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7120,7 +7438,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7130,7 +7448,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7141,7 +7459,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7198,7 +7516,7 @@ msgstr ""
 msgid "Sorry, no incoming email allowed."
 msgstr ""
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr ""
@@ -7260,7 +7578,7 @@ msgstr ""
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7269,7 +7587,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7408,31 +7726,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr ""
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr ""
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr ""
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr ""
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr ""
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr ""
 
@@ -7538,16 +7856,17 @@ msgid "Sandbox this user"
 msgstr ""
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr ""
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7628,6 +7947,11 @@ msgstr ""
 msgid "None"
 msgstr ""
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+msgid "Invalid theme name."
+msgstr ""
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7637,8 +7961,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr ""
 
@@ -7648,29 +7972,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr ""
 
@@ -7678,6 +8005,12 @@ msgstr ""
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr ""
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -7844,16 +8177,21 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] ""
 msgstr[1] ""
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr ""
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 48da6d8d0f4d5af2b8c91843b80017c8d24f79c3..6143b31d97bc63b279eeb05418a88395552b649b 100644 (file)
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:37+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:44+0000\n"
 "Language-Team: Swedish <http://translatewiki.net/wiki/Portal:sv>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: sv\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,15 +79,22 @@ msgstr "Spara inställningar för åtkomst"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Spara"
@@ -118,6 +125,7 @@ msgstr "Ingen sådan sida"
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -130,14 +138,14 @@ msgstr "Ingen sådan sida"
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Ingen sådan användare."
@@ -154,7 +162,7 @@ msgstr "%1$s och vänner, sida %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s och vänner"
@@ -208,7 +216,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -306,11 +316,12 @@ msgstr "Kunde inte uppdatera användare."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -323,11 +334,13 @@ msgstr "Kunde inte spara profil."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -503,44 +516,54 @@ msgstr "Kunde inte fastställa användare hos källan."
 msgid "Could not find target user."
 msgstr "Kunde inte hitta målanvändare."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 "Smeknamnet får endast innehålla små bokstäver eller siffror, inga mellanslag."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Smeknamnet används redan. Försök med ett annat."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Inte ett giltigt smeknamn."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Hemsida är inte en giltig webbadress."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -549,10 +572,14 @@ msgstr "Fullständigt namn är för långt (max 255 tecken)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -560,9 +587,11 @@ msgstr[0] "Beskrivning är för lång (max %d tecken)."
 msgstr[1] "Beskrivning är för lång (max %d tecken)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -570,7 +599,12 @@ msgstr "Beskrivning av plats är för lång (max 255 tecken)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -586,15 +620,19 @@ msgstr "Ogiltigt alias: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Alias \"%s\" används redan. Försök med ett annat."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Alias kan inte vara samma som smeknamn."
 
@@ -700,21 +738,21 @@ msgid "Request token already authorized."
 msgstr "Du har inte tillstånd."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Det var ett problem med din sessions-token. Var vänlig försök igen."
 
@@ -730,17 +768,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Databasfel vid infogning av OAuth-applikationsanvändare."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Oväntat inskick av formulär."
 
@@ -790,9 +830,10 @@ msgstr "Konto"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -886,20 +927,21 @@ msgstr "Du kan inte ta bort en annan användares status."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Ingen sådan notis."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Kan inte upprepa din egen notis."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Redan upprepat denna notis."
 
@@ -920,7 +962,8 @@ msgstr "Klient måste tillhandahålla en 'status'-parameter med ett värde."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -935,7 +978,7 @@ msgstr "API-metod hittades inte."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1040,105 +1083,140 @@ msgstr "API-metoden är under uppbyggnad."
 msgid "User not found."
 msgstr "API-metod hittades inte."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Ingen sådan bilaga."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Inget smeknamn."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Ingen storlek."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Ogiltig storlek."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Du kan ladda upp din personliga avatar. Den maximala filstorleken är %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Användare utan matchande profil."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Avatarinställningar"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Orginal"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Förhandsgranska"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Ta bort"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Ladda upp"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Beskär"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Ingen fil laddades upp."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Välj ett kvadratiskt område i bilden som din avatar"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Förlorade vår fildata."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar uppdaterad."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Misslyckades uppdatera avatar."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Avatar borttagen."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Du har redan blockerat denna användare."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Blockera användare"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1154,8 +1232,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1163,7 +1241,7 @@ msgstr "Nej"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Blockera inte denna användare"
 
@@ -1173,8 +1251,8 @@ msgstr "Blockera inte denna användare"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1182,141 +1260,171 @@ msgstr "Ja"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Blockera denna användare"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Misslyckades att spara blockeringsinformation."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Ingen sådan grupp."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s blockerade profiler"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s blockerade profiler, sida %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr ""
 "En lista med de användare som blockerats från att gå med i denna grupp."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Häv blockering av användare från grupp"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Häv blockering"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Häv blockering av denna användare"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Posta till %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Ingen bekräftelsekod."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Bekräftelsekod kunde inte hittas."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Denna bekräftelsekod är inte för dig!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Adresstypen %s känns inte igen."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Denna adress har redan blivit bekräftad."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Kunde inte uppdatera användare."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Kunde inte ta bort e-postbekräftelse."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "Kunde inte ta bort bekräftelse för snabbmeddelanden."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Bekräfta adress"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Adressen \"%s\" har blivit bekräftad för ditt konto."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Konversationer"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Notiser"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Du måste vara inloggad för att ta bort en applikation."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Applikation hittades inte."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Du är inte ägaren av denna applikation."
@@ -1324,15 +1432,18 @@ msgstr "Du är inte ägaren av denna applikation."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Det var ett problem med din sessions-token."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Ta bort applikation"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1343,12 +1454,12 @@ msgstr ""
 "användaranslutningar."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Ta inte bort denna applikation"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Ta bort denna applikation"
 
@@ -1384,13 +1495,14 @@ msgstr "Kunde inte uppdatera grupp."
 msgid "Deleted group %s"
 msgstr "%1$s lämnade grupp %2$s"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Ta bort användare"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1413,22 +1525,27 @@ msgstr "Ta inte bort denna notis"
 msgid "Delete this group"
 msgstr "Ta bort denna användare"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Inte inloggad."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Kan inte ta bort denna notis."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1436,21 +1553,24 @@ msgstr ""
 "Du håller på att ta bort en notis permanent. När det väl är gjort kan du "
 "inte ångra dig."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Ta bort notis"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Är du säker på att du vill ta bort denna notis?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Ta inte bort denna notis"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Ta bort denna notis"
 
@@ -1536,12 +1656,14 @@ msgstr "Anpassat tema"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Du kan ladda upp ett eget StatusNet-tema som ett .ZIP-arkiv."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Ändra bakgrundsbild"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Bakgrund"
 
@@ -1555,40 +1677,48 @@ msgstr ""
 "filstorleken är %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "På"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Av"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Sätt på eller stäng av bakgrundsbild."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Upprepa bakgrundsbild"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Byt färger"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Innehåll"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Sidofält"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Text"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Länkar"
 
@@ -1600,29 +1730,31 @@ msgstr "Avancerat"
 msgid "Custom CSS"
 msgstr "Anpassad CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Använd standardvärden"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Återställ standardutseende"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Återställ till standardvärde"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Spara"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Spara utseende"
 
@@ -1666,9 +1798,9 @@ msgid "Name is required."
 msgstr "Namn krävs."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "Namnet är för långt (max 255 tecken)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1697,7 +1829,7 @@ msgid "Organization is required."
 msgstr "Organisation krävs."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organisation är för lång (max 255 tecken)."
@@ -1721,49 +1853,49 @@ msgstr "Webbadress för anrop är inte giltig."
 msgid "Could not update application."
 msgstr "Kunde inte uppdatera applikation."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Redigera %s grupp"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Du måste vara inloggad för att skapa en grupp."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Du måste vara en administratör för att redigera gruppen."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Använd detta formulär för att redigera gruppen."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Beskrivning är för lång (max %d tecken)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "För många alias! Maximum %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Ogiltigt alias: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Kunde inte uppdatera grupp."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Kunde inte skapa alias."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Alternativ sparade."
 
@@ -1956,6 +2088,12 @@ msgstr "Ingen väntande bekräftelse att avbryta."
 msgid "That is the wrong email address."
 msgstr "Detta är fel e-postadress."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Kunde inte ta bort e-postbekräftelse."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2039,7 +2177,7 @@ msgstr ""
 "att lägga en notis till dina favoriter!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%ss favoritnotiser"
@@ -2136,19 +2274,23 @@ msgstr "Du kan inte bevilja användare roller på denna webbplats."
 msgid "User already has this role."
 msgstr "Användaren har redan denna roll."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Ingen profil angiven."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Ingen profil med det ID:t."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Ingen grupp angiven."
@@ -2213,8 +2355,10 @@ msgid ""
 msgstr ""
 "Anpassa hur din grupp ser ut genom att välja bakgrundbild och färgpalett."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Kunde inte uppdatera dina utseendeinställningar."
 
@@ -2234,6 +2378,14 @@ msgstr ""
 "Du kan ladda upp en logotypbild för din grupp. Den maximala filstorleken är %"
 "s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Ladda upp"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Beskär"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Välj ett kvadratiskt område i bilden som logotyp"
@@ -2377,15 +2529,18 @@ msgstr ""
 "Varför inte [registrera ett konto](%%action.register%%) och [skapa gruppen](%"
 "%action.newgroup%%) själv!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Bara en administratör kan häva blockering av gruppmedlemmar."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Användare är inte blockerad från grupp."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Fel vid hävning av blockering."
 
@@ -2474,7 +2629,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publicera ett MicroID för min Jabber/GTalk-adress."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Inställningar sparade."
 
@@ -2598,10 +2753,9 @@ msgstr[1] "Du prenumererar redan på dessa användare:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2788,8 +2942,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Ogiltig välkomsttext. Maximal längd är 255 tecken."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2960,28 +3115,20 @@ msgstr "Du måste vara inloggad för att registrera en applikation."
 msgid "Use this form to register a new application."
 msgstr "Använd detta formulär för att registrera en ny applikation."
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Namnet är för långt (max 255 tecken)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Webbadress till källa krävs."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organisation är för lång (max 255 tecken)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Kunde inte skapa applikation."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Ny grupp"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Använd detta formulär för att skapa en ny grupp."
@@ -2991,14 +3138,14 @@ msgid "New message"
 msgstr "Nytt meddelande"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Du kan inte skicka ett meddelande till den användaren."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Inget innehåll!"
 
@@ -3007,7 +3154,7 @@ msgid "No recipient specified."
 msgstr "Ingen mottagare angiven."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3020,12 +3167,12 @@ msgstr "Meddelande skickat"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Direktmeddelande till %s skickat."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "AJAX-fel"
 
@@ -3033,17 +3180,7 @@ msgstr "AJAX-fel"
 msgid "New notice"
 msgstr "Ny notis"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Det är för långt. Maximal notisstorlek är %d tecken."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "Maximal notisstorlek är %d tecken, inklusive webbadress för bilaga."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Notis postad"
 
@@ -3181,25 +3318,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Notisen har ingen profil."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$ss status den %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Innehållstyp %s stödjs inte."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "Endast %s-webbadresser över vanlig HTTP."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Ett dataformat som inte stödjs"
@@ -3212,36 +3349,46 @@ msgstr "Personsökning"
 msgid "Notice Search"
 msgstr "Notissökning"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Övriga inställningar"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Hantera diverse andra alternativ."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
-msgstr "(fri tjänst)"
+msgstr " (fri tjänst)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Förkorta URL:er med"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Automatiska förkortningstjänster att använda."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Visa profilutseenden"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Visa eller göm profilutseenden."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Namnet på URL-förkortningstjänsen är för långt (max 50 tecken)."
 
 #: actions/otp.php:69
@@ -3685,8 +3832,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 små bokstäver eller nummer, inga punkter eller mellanslag"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Fullständigt namn"
@@ -3726,9 +3874,10 @@ msgid "Bio"
 msgstr "Biografi"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Plats"
@@ -4070,7 +4219,8 @@ msgid "Unexpected password reset."
 msgstr "Oväntad återställning av lösenord."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Lösenordet måste vara minst 6 tecken."
 
 #: actions/recoverpassword.php:369
@@ -4316,7 +4466,7 @@ msgid "Repeated!"
 msgstr "Upprepad!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Svarat till %s"
@@ -4447,11 +4597,12 @@ msgstr "Organisation"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Beskrivning"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Statistik"
@@ -4469,6 +4620,11 @@ msgstr "Åtgärder för applikation"
 msgid "Reset key & secret"
 msgstr "Återställ nyckel & hemlighet"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Ta bort"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Information om applikation"
@@ -4562,77 +4718,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Detta är ett sätt att dela med av det du gillar."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s grupp"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s grupp, sida %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Grupprofil"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Notis"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Alias"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Åtgärder för grupp"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Flöde av notiser för %s grupp (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Flöde av notiser för %s grupp (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Flöde av notiser för %s grupp (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF för %s grupp"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Medlemmar"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Ingen)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Alla medlemmar"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Skapad"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Medlemmar"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4647,7 +4832,10 @@ msgstr ""
 "sina liv och intressen. [Gå med nu](%%%%action.register%%%%) för att bli en "
 "del av denna grupp och många fler! ([Läs mer](%%%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4660,24 +4848,31 @@ msgstr ""
 "[StatusNet](http://status.net/). Dess medlemmar delar korta meddelande om "
 "sina liv och intressen. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Administratörer"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Inget sådant meddelande."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Endast avsändaren och mottagaren kan läsa detta meddelande."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Meddelande till %1$s på %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Meddelande från %1$s på %2$s"
@@ -4686,47 +4881,67 @@ msgstr "Meddelande från %1$s på %2$s"
 msgid "Notice deleted."
 msgstr "Notis borttagen."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "taggade %s"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, sida %2$d"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Notiser taggade med %1$s, sida %2$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, sida %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Flöde av notiser för %1$s taggade %2$s (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Flöde av notiser för %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Flöde av notiser för %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Flöde av notiser för %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF för %s"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "Detta är tidslinjen för %1$s men %2$s har inte postat något än."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4734,7 +4949,9 @@ msgstr ""
 "Sett något intressant nyligen? Du har inte postat några notiser än. Varför "
 "inte börja nu?"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4743,7 +4960,9 @@ msgstr ""
 "Var den första att [skriva i detta ämne](%%%%action.newnotice%%%%?"
 "status_textarea=%s)!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4756,7 +4975,9 @@ msgstr ""
 "[StatusNet](http://status.net/). [Gå med nu](%%%%action.register%%%%) för "
 "att följa **%s**s notiser och många fler! ([Läs mer](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4767,7 +4988,8 @@ msgstr ""
 "wikipedia.org/wiki/Mikroblogg)tjänst baserad på den fria programvaran "
 "[StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Upprepning av %s"
@@ -4880,31 +5102,40 @@ msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 "Hur länge användare måste vänta (i sekunder) för att posta samma sak igen."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Webbplatsnotis"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Redigera webbplastsnotis"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Kunde inte spara webbplatsnotis."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Maximal längd för webbplatsnotisen är 255 tecken."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Text för webbplatsnotis"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "Text för webbplatsnotis (max 255 tecken; HTML ok)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Spara webbplatsnotis"
 
@@ -5120,12 +5351,14 @@ msgstr "Ögonblicksbild kommer skickat till denna URL"
 msgid "Save snapshot settings"
 msgstr "Spara inställningar för ögonblicksbild"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Du är inte prenumerat hos den profilen."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Kunde inte spara prenumeration."
 
@@ -5368,77 +5601,95 @@ msgstr ""
 "2$s'."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Användare"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Ogiltig begränsning av biografi. Måste vara numerisk."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Ogiltig välkomsttext. Maximal längd är 255 tecken."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Ogiltig standardprenumeration: '%1$s' är inte användare."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Begränsning av biografi"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Maximal teckenlängd av profilbiografi."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Nya användare"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Välkomnande av ny användare"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Välkomsttext för nya användare (max 255 tecken)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Standardprenumerationer"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr ""
 "Lägg automatiskt till en prenumeration på denna användare för alla nya "
 "användare."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Inbjudningar"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Inbjudningar aktiverade"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "Hurvida användare skall tillåtas bjuda in nya användare."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5546,11 +5797,13 @@ msgstr "Kan inte läsa avatar-URL '%s'."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Fel bildtyp för avatar-URL '%s'."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Profilutseende"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5649,7 +5902,7 @@ msgid "Plugins"
 msgstr "Insticksmoduler"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Version"
 
@@ -5682,31 +5935,44 @@ msgstr "Robin tycker att något är omöjligt"
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+"Ingen fil får vara större än %1$d byte och filen du skickade var %2$d byte. "
+"Prova att ladda upp en mindre version."
+msgstr[1] ""
 "Ingen fil får vara större än %1$d byte och filen du skickade var %2$d byte. "
 "Prova att ladda upp en mindre version."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "En så här stor fil skulle överskrida din användarkvot på %d byte."
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "En så här stor fil skulle överskrida din användarkvot på %d byte."
+msgstr[1] "En så här stor fil skulle överskrida din användarkvot på %d byte."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "En sådan här stor fil skulle överskrida din månatliga kvot på %d byte."
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+"En sådan här stor fil skulle överskrida din månatliga kvot på %d byte."
+msgstr[1] ""
+"En sådan här stor fil skulle överskrida din månatliga kvot på %d byte."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Ogiltigt filnamn."
 
@@ -5835,39 +6101,47 @@ msgid "Problem saving notice."
 msgstr "Problem med att spara notis."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "Dålig typ tillhandahållen saveKnownGroups"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Problem med att spara gruppinkorg."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Kunde inte spara lokal gruppinformation."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Kan inte återkalla roll \"%1$s\" för användare #%2$d; finns inte."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr "Kan inte återkalla roll \"%1$s\" för användare #%2$d; databasfel."
@@ -5937,32 +6211,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Välkommen till %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Ingen enskild användare definierad för enanvändarläge."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Kunde inte skapa grupp."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Kunde inte ställa in grupp-URI."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Kunde inte ställa in gruppmedlemskap."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Kunde inte spara lokal gruppinformation."
 
@@ -6012,194 +6286,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "Namnlös sida"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Primär webbplatsnavigation"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Personlig profil och vänners tidslinje"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Personligt"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Ändra din e-post, avatar, lösenord, profil"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Konto"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Anslut till tjänster"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Anslut"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Ändra webbplatskonfiguration"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Administratör"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Bjud in vänner och kollegor att gå med dig på %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Bjud in"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Logga ut från webbplatsen"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Logga ut"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Skapa ett konto"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Registrera"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Logga in på webbplatsen"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Logga in"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Hjälp mig!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Hjälp"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Sök efter personer eller text"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Sök"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Webbplatsnotis"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Lokala vyer"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Sidnotis"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Sekundär webbplatsnavigation"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Hjälp"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Om"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "Frågor & svar"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Användarvillkor"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Sekretess"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Källa"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Kontakt"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Emblem"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Programvarulicens för StatusNet"
 
@@ -6207,7 +6488,7 @@ msgstr "Programvarulicens för StatusNet"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6217,7 +6498,7 @@ msgstr ""
 "%%](%%site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** är en mikrobloggtjänst."
@@ -6226,7 +6507,7 @@ msgstr "**%%site.name%%** är en mikrobloggtjänst."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6238,51 +6519,51 @@ msgstr ""
 "fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Licens för webbplatsinnehåll"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Innehåll och data av %1$s är privat och konfidensiell."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "Innehåll och data copyright av %1$s. Alla rättigheter reserverade."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Innehåll och data copyright av medarbetare. Alla rättigheter reserverade."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Innehåll och data på %1$s är tillgänglig under licensen %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Numrering av sidor"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Senare"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Tidigare"
 
@@ -6361,7 +6642,7 @@ msgid "User configuration"
 msgstr "Konfiguration av användare"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Användare"
 
@@ -6627,7 +6908,7 @@ msgid "AJAX error"
 msgstr "AJAX-fel"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Kommando komplett"
 
@@ -6643,7 +6924,7 @@ msgstr "Notis med den ID:n finns inte."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Användare har ingen sista notis."
 
@@ -6712,6 +6993,14 @@ msgstr "%1$s gick med i grupp %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s lämnade grupp %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6751,113 +7040,117 @@ msgstr ""
 "%s är en fjärrprofil; du kan bara skicka direktmeddelanden till användare på "
 "samma server."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
+msgstr[1] "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Fel vid sändning av direktmeddelande."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Notis från %s upprepad."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Fel vid upprepning av notis."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Notis för långt - maximum är %1$d tecken, du skickade %2$d."
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Notis för långt - maximum är %1$d tecken, du skickade %2$d."
+msgstr[1] "Notis för långt - maximum är %1$d tecken, du skickade %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Svar på %s skickat."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Fel vid sparande av notis."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Ange namnet på användaren att prenumerara på."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Kan inte prenumera på OMB-profiler via kommando."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Prenumererar på %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Ange namnet på användaren att avsluta prenumeration på."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Prenumeration på %s avslutad."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Kommando inte implementerat än."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Notifikation av."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Kan inte sätta på notifikation."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Notifikation på."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Kan inte stänga av notifikation."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Inloggningskommando är inaktiverat."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6865,20 +7158,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "%ss prenumeration avslutad."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Du prenumererar inte på någon."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Du prenumererar på denna person:"
@@ -6886,14 +7179,14 @@ msgstr[1] "Du prenumererar på dessa personer:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Ingen prenumerar på dig."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Denna person prenumererar på dig:"
@@ -6901,21 +7194,21 @@ msgstr[1] "Dessa personer prenumererar på dig:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Du är inte medlem i några grupper."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Du är en medlem i denna grupp:"
 msgstr[1] "Du är en medlem i dessa grupper:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7059,10 +7352,13 @@ msgstr "Tillåt anslutna applikationer"
 msgid "Database error"
 msgstr "Databasfel"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Ladda upp fil"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7070,16 +7366,29 @@ msgstr ""
 "Du kan ladda upp din personliga bakgrundbild. Den maximala filstorleken är "
 "2MB."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Servern kunde inte hantera så mycket POST-data (%s byte) på grund av sin "
-"nuvarande konfiguration."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "På"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Av"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Återställ"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Standardvärden för utseende återställda."
 
@@ -7107,7 +7416,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7145,7 +7455,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 små bokstäver eller nummer, inga punkter eller mellanslag"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "URL till gruppen eller ämnets hemsida eller blogg"
 
 #: lib/groupeditform.php:168
@@ -7153,19 +7464,30 @@ msgid "Describe the group or topic"
 msgstr "Beskriv gruppen eller ämnet"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Beskriv gruppen eller ämnet med högst %d tecken"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Beskriv gruppen eller ämnet med högst %d tecken"
+msgstr[1] "Beskriv gruppen eller ämnet med högst %d tecken"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Plats för gruppen, om den finns, såsom \"Stad, Län, Land\""
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr "Extra smeknamn för gruppen, komma- eller mellanslagsseparerade, max &d"
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+"Extra smeknamn för gruppen, komma- eller mellanslagsseparerade, max &d"
+msgstr[1] ""
+"Extra smeknamn för gruppen, komma- eller mellanslagsseparerade, max &d"
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7265,39 +7587,57 @@ msgstr "Denna sida är inte tillgänglig i den mediatyp du accepterat"
 msgid "Unsupported image file format."
 msgstr "Bildfilens format stödjs inte."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Denna fil är för stor. Den maximala filstorleken är %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Bitvis uppladdad."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Systemfel vid uppladdning av fil."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Inte en bildfil eller så är filen korrupt."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Förlorade vår fil."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Okänd filtyp"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+msgstr[1] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+msgstr[1] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7547,7 +7887,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) lade till din notis som en favorit"
@@ -7557,7 +7897,7 @@ msgstr "%s (@%s) lade till din notis som en favorit"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7595,7 +7935,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7608,7 +7948,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) skickade en notis för din uppmärksamhet"
@@ -7619,7 +7959,7 @@ msgstr "%s (@%s) skickade en notis för din uppmärksamhet"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7701,7 +8041,7 @@ msgstr "Tyvärr, det är inte din inkommande e-postadress."
 msgid "Sorry, no incoming email allowed."
 msgstr "Tyvärr, ingen inkommande e-post tillåts."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Formatet %s för meddelande stödjs inte."
@@ -7767,7 +8107,7 @@ msgstr "Kunde inte fastställa filens MIME-typ."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7778,7 +8118,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "%s är en filtyp som saknar stöd på denna server."
@@ -7919,31 +8259,31 @@ msgstr "Duplicera notis."
 msgid "Couldn't insert new subscription."
 msgstr "Kunde inte infoga ny prenumeration."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Personligt"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Svar"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Favoriter"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Inkorg"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Dina inkommande meddelanden"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Utkorg"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Dina skickade meddelanden"
 
@@ -8050,16 +8390,17 @@ msgid "Sandbox this user"
 msgstr "Flytta denna användare till sandlådan"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Sök webbplats"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Nyckelord"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8140,6 +8481,12 @@ msgstr "Taggmoln för person, såsom taggats"
 msgid "None"
 msgstr "Ingen"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Ogiltigt filnamn."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "Denna server kan inte hantera temauppladdningar utan ZIP-stöd."
@@ -8149,8 +8496,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Temafilen saknas eller uppladdningen misslyckades."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Kunde inte spara tema."
 
@@ -8159,16 +8506,20 @@ msgid "Invalid theme: bad directory structure."
 msgstr "Ogiltigt tema: dålig katalogstruktur."
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Uppladdat tema är för stort, måste vara mindre än %d byte okomprimerat."
+msgstr[1] ""
 "Uppladdat tema är för stort, måste vara mindre än %d byte okomprimerat."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "Ogiltigt temaarkiv: filen css/display.css saknas"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8176,16 +8527,16 @@ msgstr ""
 "Tema innehåller ogiltigt fil- eller mappnamn. Använd bara ASCII-bokstäver, "
 "siffror, understreck och minustecken."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "Tema innehåller osäkra filtilläggsnamn; kan vara osäkert."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Tema innehåller fil av typen '.%s', vilket inte är tillåtet."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Fel vid öppning temaarkiv."
 
@@ -8193,6 +8544,13 @@ msgstr "Fel vid öppning temaarkiv."
 msgid "Top posters"
 msgstr "Toppostare"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Häv blockering"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Flytta från sandlådan"
@@ -8359,17 +8717,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
 msgstr[1] "Meddelande för långt - maximum är %1$d tecken, du skickade %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Ingen användar-ID angiven."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index 287168c08f348baf5ae4860e206974fb1fea041f..7329fcf2de4be27ddff6e9851c6535055c87c970 100644 (file)
@@ -10,17 +10,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:39+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:45+0000\n"
 "Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: te\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -77,15 +77,22 @@ msgstr "అందుబాటు అమరికలను భద్రపరచ
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "భద్రపరచు"
@@ -116,6 +123,7 @@ msgstr "అటువంటి పేజీ లేదు."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -128,14 +136,14 @@ msgstr "అటువంటి పేజీ లేదు."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "అటువంటి వాడుకరి లేరు."
@@ -152,7 +160,7 @@ msgstr "%1$s మరియు మిత్రులు, పేజీ %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s మరియు మిత్రులు"
@@ -203,7 +211,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, fuzzy, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -301,11 +311,12 @@ msgstr "వాడుకరిని తాజాకరించలేకున
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -319,11 +330,13 @@ msgstr "ప్రొఫైలుని భద్రపరచలేకున్
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -495,43 +508,53 @@ msgstr "లక్ష్యిత వాడుకరిని కనుగొన
 msgid "Could not find target user."
 msgstr "లక్ష్యిత వాడుకరిని కనుగొనలేకపోయాం."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "పేరులో చిన్నబడి అక్షరాలు మరియు అంకెలు మాత్రమే ఖాళీలు లేకుండా ఉండాలి."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "ఆ పేరుని ఇప్పటికే వాడుతున్నారు. మరోటి ప్రయత్నించండి."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "సరైన పేరు కాదు."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "హోమ్ పేజీ URL సరైనది కాదు."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -540,10 +563,14 @@ msgstr "పూర్తి పేరు చాలా పెద్దగా ఉ
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -551,9 +578,11 @@ msgstr[0] "వివరణ చాలా పెద్దగా ఉంది (%d 
 msgstr[1] "వివరణ చాలా పెద్దగా ఉంది (%d అక్షరాలు గరిష్ఠం)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -561,7 +590,12 @@ msgstr "ప్రాంతం పేరు మరీ పెద్దగా ఉ
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -577,15 +611,19 @@ msgstr "తప్పుడు మారుపేరు: \"%s\"."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "\"%s\" అన్న మారుపేరుని ఇప్పటికే వాడుతున్నారు. మరొకటి ప్రయత్నించండి."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "మారుపేరు పేరుతో సమానంగా ఉండకూడదు."
 
@@ -691,21 +729,21 @@ msgid "Request token already authorized."
 msgstr "మీకు అధీకరణ లేదు."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -721,17 +759,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "అవతారాన్ని పెట్టడంలో పొరపాటు"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr ""
 
@@ -774,9 +814,10 @@ msgstr "ఖాతా"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -868,20 +909,21 @@ msgstr "ఇతర వాడుకరుల స్థితిని మీరు
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "అటువంటి సందేశమేమీ లేదు."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "మీ నోటీసుని మీరే పునరావృతించలేరు."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "ఇప్పటికే ఆ నోటీసుని పునరావృతించారు."
 
@@ -902,7 +944,8 @@ msgstr ""
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -917,7 +960,7 @@ msgstr "నిర్ధారణ సంకేతం కనబడలేదు."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1023,105 +1066,137 @@ msgstr "నిర్ధారణ సంకేతం కనబడలేదు."
 msgid "User not found."
 msgstr "వాడుకరి దొరకలేదు."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "అటువంటి జోడింపు లేదు."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "పేరు"
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "పరిమాణం లేదు."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "తప్పుడు పరిమాణం."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "అవతారం"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "మీ వ్యక్తిగత అవతారాన్ని మీరు ఎక్కించవచ్చు. గరిష్ఠ ఫైలు పరిమాణం %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 #, fuzzy
 msgid "User without matching profile."
 msgstr "వాడుకరికి ప్రొఫైలు లేదు."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "అవతారపు అమరికలు"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "అసలు"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "మునుజూపు"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "తొలగించు"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
-msgstr "à°\8eà°\97à±\81మతించు"
+msgstr "à°\8eà°\95à±\8dà°\95ించు"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "కత్తిరించు"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "ఏ దస్త్రమూ ఎక్కింపబడలేదు."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "మీ అవతారానికి గానూ ఈ చిత్రం నుండి ఒక చతురస్రపు ప్రదేశాన్ని ఎంచుకోండి"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "అవతారాన్ని తాజాకరించాం."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "అవతారపు తాజాకరణ విఫలమైంది."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "అవతారాన్ని తొలగించాం."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "మీరు ఇప్పటికే ఆ వాడుకరిని నిరోధించారు."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "వాడుకరిని నిరోధించు"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1136,8 +1211,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1145,7 +1220,7 @@ msgstr "కాదు"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "ఈ వాడుకరిని నిరోధించకు"
 
@@ -1155,8 +1230,8 @@ msgstr "ఈ వాడుకరిని నిరోధించకు"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1164,140 +1239,170 @@ msgstr "అవును"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "ఈ వాడుకరిని నిరోధించు"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "నిరోధపు సమాచారాన్ని భద్రపరచడంలో విఫలమయ్యాం."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "అటువంటి గుంపు లేదు."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s నిరోధిత వాడుకరులు"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s మరియు మిత్రులు, పేజీ %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "ఈ గుంపు లోనికి చేరకుండా నిరోధించిన వాడుకరుల యొక్క జాబితా."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "వాడుకరిని గుంపు నుండి నిరోధించు"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "నిరోధాన్ని ఎత్తివేయి"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "ఈ వాడుకరిని నిరోధించు"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "%sకి టపాచెయ్యి"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "నిర్ధారణ సంకేతం లేదు."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "నిర్ధారణ సంకేతం కనబడలేదు."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "ఆ నిర్ధారణా సంకేతం మీది కాదు!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "గుర్తుతెలియని చిరునామా రకం %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "ఆ చిరునామా ఇప్పటికే నిర్ధారితమైంది."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "వాడుకరిని తాజాకరించలేకున్నాం."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "ఈమెయిల్ నిర్ధారణని తొలగించలేకున్నాం."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "చిరునామాని నిర్ధారించు"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "\"%s\" అనే చిరునామా మీ ఖాతాకి నిర్ధారితమైంది."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "సంభాషణ"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "సందేశాలు"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "ఉపకరణాలని తొలగించడానికి మీరు ప్రవేశించి ఉండాలి."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "ఉపకరణం కనబడలేదు."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "మీరు ఈ ఉపకరణం యొక్క యజమాని కాదు."
@@ -1305,15 +1410,18 @@ msgstr "మీరు ఈ ఉపకరణం యొక్క యజమాని 
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "ఉపకరణ తొలగింపు"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1323,20 +1431,19 @@ msgstr ""
 "వాడుకరుల అనుసంధానాలతో సహా, డాటాబేసు నుండి తొలగిస్తుంది."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "ఈ ఉపకరణాన్ని తొలగించకు"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "ఈ ఉపకరణాన్ని తొలగించు"
 
 #. TRANS: Client error when trying to delete group while not logged in.
 #: actions/deletegroup.php:64
-#, fuzzy
 msgid "You must be logged in to delete a group."
-msgstr "à°\97à±\81à°\82à°ªà±\81ని à°µà°¦à°¿à°²à°¿à°µà±\86à°³à±\8dà°³డానికి మీరు ప్రవేశించి ఉండాలి."
+msgstr "à°\97à±\81à°\82à°ªà±\81ని à°¤à±\8aà°²à°\97à°¿à°\82à°\9aడానికి మీరు ప్రవేశించి ఉండాలి."
 
 #. TRANS: Client error when trying to delete a group without providing a nickname or ID for the group.
 #: actions/deletegroup.php:94 actions/joingroup.php:88
@@ -1346,30 +1453,30 @@ msgstr "Jabber ID లేదు."
 
 #. TRANS: Client error when trying to delete a group without having the rights to delete it.
 #: actions/deletegroup.php:107
-#, fuzzy
 msgid "You are not allowed to delete this group."
-msgstr "à°®à±\80à°°à±\81 à°\88 à°\97à±\81à°\82à°ªà±\81à°²à±\8b à°¸à°­à±\8dà°¯à±\81à°²à±\81 à°\95à°¾దు."
+msgstr "à°\88 à°\97à±\81à°\82à°ªà±\81à°¨à±\81 à°¤à±\8aà°²à°\97à°¿à°\82à°\9aడానిà°\95à°¿ à°®à±\80à°\95à±\81 à°\85à°¨à±\81మతి à°²à±\87దు."
 
 #. TRANS: Server error displayed if a group could not be deleted.
 #. TRANS: %s is the name of the group that could not be deleted.
 #: actions/deletegroup.php:150
-#, fuzzy, php-format
+#, php-format
 msgid "Could not delete group %s."
-msgstr "గుంపుని తాజాకరించలేకున్నాం."
+msgstr "%s గుంపుని తొలగించలేకున్నాం."
 
 #. TRANS: Message given after deleting a group.
 #. TRANS: %s is the deleted group's name.
 #: actions/deletegroup.php:159
-#, fuzzy, php-format
+#, php-format
 msgid "Deleted group %s"
-msgstr "%2$s గుంపు నుండి %1$s వైదొలిగారు"
+msgstr "%s గుంపుని తొలగించాం"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "గుంపు తొలగింపు"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1390,42 +1497,50 @@ msgstr "ఈ గుంపును తొలగించకు"
 msgid "Delete this group"
 msgstr "ఈ గుంపుని తొలగించు"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "లోనికి ప్రవేశించలేదు."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "ఈ నోటీసుని తొలగించలేము."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr "మీరు ఒక నోటీసుని శాశ్వతంగా తొలగించబోతున్నారు. ఇది ఒక్కసారి పూర్తయితే, దాన్నిక వెనక్కి తేలేరు."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "నోటీసుని తొలగించు"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "మీరు నిజంగానే ఈ నోటీసుని తొలగించాలనుకుంటున్నారా?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "ఈ నోటీసుని తొలగించకు"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "ఈ నోటీసుని తొలగించు"
 
@@ -1469,9 +1584,8 @@ msgid "Invalid logo URL."
 msgstr "చిహ్నపు URL చెల్లదు."
 
 #: actions/designadminpanel.php:340
-#, fuzzy
 msgid "Invalid SSL logo URL."
-msgstr "చిహ్నపు URL చెల్లదు."
+msgstr "SSL చిహ్నపు URL చెల్లదు."
 
 #: actions/designadminpanel.php:344
 #, php-format
@@ -1487,9 +1601,8 @@ msgid "Site logo"
 msgstr "సైటు చిహ్నం"
 
 #: actions/designadminpanel.php:457
-#, fuzzy
 msgid "SSL logo"
-msgstr "సైటు చిహ్నం"
+msgstr "SSL చిహ్నం"
 
 #: actions/designadminpanel.php:469
 msgid "Change theme"
@@ -1512,12 +1625,14 @@ msgstr "సైటు అలంకారం"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr ""
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "నేపథ్య చిత్రాన్ని మార్చు"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "నేపథ్యం"
 
@@ -1529,42 +1644,50 @@ msgid ""
 msgstr "సైటుకి మీరు నేపథ్యపు చిత్రాన్ని ఎక్కించవచ్చు. గరిష్ఠ ఫైలు పరిమాణం %1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "ఆన్"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "ఆఫ్"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 #, fuzzy
 msgid "Turn background image on or off."
 msgstr "నేపథ్య చిత్రాన్ని మార్చు"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 #, fuzzy
 msgid "Tile background image"
 msgstr "నేపథ్య చిత్రాన్ని మార్చు"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "రంగులను మార్చు"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "విషయం"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "పక్కపట్టీ"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "పాఠ్యం"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "లంకెలు"
 
@@ -1576,31 +1699,33 @@ msgstr "ఉన్నత"
 msgid "Custom CSS"
 msgstr "ప్రత్యేక CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "అప్రమేయాలని ఉపయోగించు"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 #, fuzzy
 msgid "Restore default designs"
 msgstr "అప్రమేయాలని ఉపయోగించు"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 #, fuzzy
 msgid "Reset back to default"
 msgstr "అప్రమేయాలని ఉపయోగించు"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "భద్రపరచు"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "రూపురేఖలని భద్రపరచు"
 
@@ -1644,9 +1769,9 @@ msgid "Name is required."
 msgstr "పేరు తప్పనిసరి."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "పేరు చాలా పెద్దగా ఉంది (గరిష్ఠంగా 255 అక్షరాలు)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1676,7 +1801,7 @@ msgid "Organization is required."
 msgstr "సంస్థ తప్పనిసరి."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "సంస్థ పేరు మరీ పెద్దగా ఉంది (255 అక్షరాలు గరిష్ఠం)."
@@ -1701,49 +1826,49 @@ msgstr ""
 msgid "Could not update application."
 msgstr "ఉపకరణాన్ని తాజాకరించలేకున్నాం."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "%s గుంపుని మార్చు"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "గుంపుని సృష్టించడానికి మీరు లోనికి ప్రవేశించాలి."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "గుంపుని మార్చడానికి మీరు నిర్వాహకులయి ఉండాలి."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "గుంపుని మార్చడానికి ఈ ఫారాన్ని ఉపయోగించండి."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "వివరణ చాలా పెద్దగా ఉంది (%d అక్షరాలు గరిష్ఠం)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "చాలా మారుపేర్లు! %d గరిష్ఠం."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "తప్పుడు మారుపేరు: \"%s\""
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "గుంపుని తాజాకరించలేకున్నాం."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "మారుపేర్లని సృష్టించలేకపోయాం."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "ఎంపికలు భద్రమయ్యాయి."
 
@@ -1854,7 +1979,7 @@ msgstr "%s (@%s) మీ నోటీసుని ఇష్టపడ్డార
 #. TRANS: Checkbox label in e-mail preferences form.
 #: actions/emailsettings.php:197
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "ఎవరైనా నాకు అంతరంగిక సందేశాన్ని పంపించినప్పుడు నాకు ఈమెయిలుని పంపించు"
 
 #. TRANS: Checkbox label in e-mail preferences form.
 #: actions/emailsettings.php:203
@@ -1940,6 +2065,12 @@ msgstr "రద్దుచేయడానికి వేచివున్న 
 msgid "That is the wrong email address."
 msgstr "ఆ ఈమెయిలు చిరునామా సరైనది కాదు."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "ఈమెయిల్ నిర్ధారణని తొలగించలేకున్నాం."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2022,7 +2153,7 @@ msgid ""
 msgstr "[ఒక ఖాతాని నమోదుచేసుకుని](%%action.register%%) మీరే మొదట వ్రాసేవారు ఎందుకు కాకూడదు!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%sకి ఇష్టమైన నోటీసులు"
@@ -2120,21 +2251,25 @@ msgstr "ఈ సైటులో మీరు వాడుకరలకి పా
 msgid "User already has this role."
 msgstr "వాడుకరికి ఇప్పటికే ఈ పాత్ర ఉంది."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 #, fuzzy
 msgid "No profile specified."
 msgstr "గుంపు ఏమీ పేర్కొనలేదు."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 #, fuzzy
 msgid "No profile with that ID."
 msgstr "ఆ IDతో ఏ నోటీసూ కనబడలేదు."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "గుంపు ఏమీ పేర్కొనలేదు."
@@ -2198,8 +2333,10 @@ msgid ""
 "palette of your choice."
 msgstr "నేపథ్య చిత్రం మరియు రంగుల ఎంపికతో మీ గుంపు ఎలా కనిపించాలో మలచుకోండి."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "మీ రూపురేఖలని తాజాకరించలేకపోయాం."
 
@@ -2217,6 +2354,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "మీ గుంపుకి మీరు ఒక చిహ్నాన్ని ఎక్కించవచ్చు. ఆ ఫైలు యొక్క గరిష్ఠ పరిమాణం %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "ఎగుమతించు"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "కత్తిరించు"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "చిహ్నంగా ఉండాల్సిన చతురస్త్ర ప్రదేశాన్ని బొమ్మ నుండి ఎంచుకోండి."
@@ -2357,15 +2502,18 @@ msgstr ""
 "[ఒక ఖాతాని నమోదుచేసుకుని](%%action.register%%) మీరే ఎందుకు [ఆ గుంపుని సృష్టించ](%%"
 "action.newgroup%%)కూడదు!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "నిర్వాహకులు మాత్రమే గుంపు సభ్యులపై నిరోధాన్ని ఎత్తివేయగలరు."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "వాడుకరిని గుంపు నుండి నిరోధించలేదు."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "నిరోధాన్ని తొలగించడంలో పొరపాటు."
 
@@ -2449,7 +2597,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "ప్రస్తుతం నిర్ధారించిన Jabber/GTalk చిరునామా"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "అభిరుచులు భద్రమయ్యాయి."
 
@@ -2571,10 +2719,9 @@ msgstr[1] "మీరు ఇప్పటికే ఈ వాడుకరులక
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2751,8 +2898,9 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr ""
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "చెల్లని స్వాగత పాఠ్యం. గరిష్ఠ పొడవు 255 అక్షరాలు."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2772,7 +2920,7 @@ msgstr ""
 
 #: actions/licenseadminpanel.php:239
 msgid "License selection"
-msgstr ""
+msgstr "లైసెన్సు ఎంపిక"
 
 #: actions/licenseadminpanel.php:245
 msgid "Private"
@@ -2920,28 +3068,21 @@ msgstr "ఉపకరణాలని నమోదుచేసుకోడాన
 msgid "Use this form to register a new application."
 msgstr "కొత్త ఉపకరణాన్ని నమోదుచేసుకోడానికి ఈ ఫారాన్ని ఉపయోగించండి."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "పేరు చాలా పెద్దగా ఉంది (గరిష్ఠంగా 255 అక్షరాలు)."
-
 #: actions/newapplication.php:184
 #, fuzzy
 msgid "Source URL is required."
 msgstr "పేరు తప్పనిసరి."
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "సంస్థ పేరు మరీ పెద్దగా ఉంది (255 అక్షరాలు గరిష్ఠం)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "ఉపకరణాన్ని సృష్టించలేకపోయాం."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "కొత్త గుంపు"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "కొత్త గుంపుని సృష్టిండానికి ఈ ఫారాన్ని ఉపయోగించండి."
@@ -2951,14 +3092,14 @@ msgid "New message"
 msgstr "కొత్త సందేశం"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "ఈ వాడుకరికి మీరు సందేశాన్ని పంపించలేరు."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "విషయం లేదు!"
 
@@ -2967,7 +3108,7 @@ msgid "No recipient specified."
 msgstr "ఎవరికి పంపించాలో పేర్కొనలేదు."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "మీకు మీరే సందేశాన్ని పంపుకోకండి; దాని బదులు మీలో మీరే మెల్లగా చెప్పుకోండి."
@@ -2978,12 +3119,12 @@ msgstr "సందేశాన్ని పంపించాం"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "%sకి నేరు సందేశాన్ని పంపించాం."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "అజాక్స్ పొరపాటు"
 
@@ -2991,17 +3132,7 @@ msgstr "అజాక్స్ పొరపాటు"
 msgid "New notice"
 msgstr "కొత్త సందేశం"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "అది చాలా పొడవుంది. గరిష్ఠ నోటీసు పరిమాణం %d అక్షరాలు."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "గరిష్ఠ నోటీసు పొడవు %d అక్షరాలు, జోడింపు URLని కలుపుకుని."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "నోటీసుని పునరావృతించారు"
 
@@ -3137,25 +3268,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "నోటీసుకి ప్రొఫైలు లేదు."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%2$sలో %1$s యొక్క స్థితి"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "విషయ రకం "
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr ""
@@ -3168,37 +3299,47 @@ msgstr "ప్రజల అన్వేషణ"
 msgid "Notice Search"
 msgstr "నోటీసుల అన్వేషణ"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "ఇతర అమరికలు"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "వేరే ఇతర ఎంపికలని సంభాళించండి."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (స్వేచ్ఛా సేవ)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "URL కుదింపు సేవ"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "ఉపయోగించాల్సిన యాంత్రిక కుదింపు సేవ."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "ఫ్రొఫైలు రూపురేఖలు"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 #, fuzzy
 msgid "Show or hide profile designs."
 msgstr "ఫ్రొఫైలు రూపురేఖలు"
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "URL కుదింపు సేవ మరీ పెద్దగా ఉంది (50 అక్షరాలు గరిష్ఠం)."
 
 #: actions/otp.php:69
@@ -3642,8 +3783,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 చిన్నబడి అక్షరాలు లేదా అంకెలు, విరామచిహ్నాలు మరియు ఖాళీలు తప్ప"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "పూర్తి పేరు"
@@ -3683,9 +3825,10 @@ msgid "Bio"
 msgstr "స్వపరిచయం"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "ప్రాంతం"
@@ -4023,7 +4166,8 @@ msgid "Unexpected password reset."
 msgstr ""
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "సంకేతపదం 6 లేదా అంతకంటే ఎక్కవ అక్షరాలుండాలి."
 
 #: actions/recoverpassword.php:369
@@ -4259,7 +4403,7 @@ msgid "Repeated!"
 msgstr "పునరావృతించారు!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "%sకి స్పందనలు"
@@ -4392,11 +4536,12 @@ msgstr "సంస్ధ"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "వివరణ"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "గణాంకాలు"
@@ -4414,6 +4559,11 @@ msgstr "ఉపకరణ చర్యలు"
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "తొలగించు"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "ఉపకరణ సమాచారం"
@@ -4502,77 +4652,105 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "మీకు నచ్చినవి పంచుకోడానికి ఇదొక మార్గం."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s గుంపు"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s గుంపు , %2$dవ పేజీ"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "గుంపు ప్రొఫైలు"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr ""
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "గమనిక"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "మారుపేర్లు"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "గుంపు చర్యలు"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "%s కొరకు స్పందనల ఫీడు (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "%s కొరకు స్పందనల ఫీడు (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "%s కొరకు స్పందనల ఫీడు (ఆటమ్)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "%s గుంపు"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "సభ్యులు"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(ఏమీలేదు)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "అందరు సభ్యులూ"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "సృష్టితం"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "సభ్యులు"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4588,7 +4766,10 @@ msgstr ""
 "చాల వాటిలో భాగస్తులవ్వడానికి [ఇప్పుడే చేరండి](%%%%action.register%%%%)! ([మరింత చదవండి](%%%%"
 "doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, fuzzy, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4603,24 +4784,31 @@ msgstr ""
 "చాల వాటిలో భాగస్తులవ్వడానికి [ఇప్పుడే చేరండి](%%%%action.register%%%%)! ([మరింత చదవండి](%%%%"
 "doc.help%%%%))"
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "నిర్వాహకులు"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "అటువంటి సందేశం లేదు."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "పంపినవారు మరియు అందుకున్నవారు మాత్రమే ఈ సందేశాన్ని చదవవచ్చు."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, fuzzy, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "%2$sలో %1$sకి స్పందనలు!"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, fuzzy, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "%2$sలో %1$sకి స్పందనలు!"
@@ -4629,54 +4817,76 @@ msgstr "%2$sలో %1$sకి స్పందనలు!"
 msgid "Notice deleted."
 msgstr "నోటీసుని తొలగించాం."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr ""
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s, %2$dవ పేజీ"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%2$sలో %1$s అనే ట్యాగుతో ఉన్న నోటీసులు!"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, %2$dవ పేజీ"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "%s కొరకు స్పందనల ఫీడు (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "%s కొరకు స్పందనల ఫీడు (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "%s కొరకు స్పందనల ఫీడు (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "%s కొరకు స్పందనల ఫీడు (ఆటమ్)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, fuzzy, php-format
 msgid "FOAF for %s"
 msgstr "%s గుంపు"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "ఇది %1$s యొక్క కాలరేఖ కానీ %2$s ఇంకా ఏమీ రాయలేదు."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 "ఈమధ్యే ఏదైనా ఆసక్తికరమైనది చూసారా? మీరు ఇంకా నోటీసులేమీ వ్రాయలేదు, మొదలుపెట్టడానికి ఇదే మంచి సమయం :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, fuzzy, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4684,7 +4894,9 @@ msgid ""
 msgstr ""
 "[ఈ విషయంపై](%%%%action.newnotice%%%%?status_textarea=%s) వ్రాసే మొదటివారు మీరే అవ్వండి!"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4699,7 +4911,9 @@ msgstr ""
 "చాల వాటిలో భాగస్తులవ్వడానికి [ఇప్పుడే చేరండి](%%%%action.register%%%%)! ([మరింత చదవండి](%%%%"
 "doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, fuzzy, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4709,7 +4923,8 @@ msgstr ""
 "ఇది %%site.name%%, స్వేచ్ఛా మృదూపకరమైన [స్టేటస్‌నెట్](http://status.net/) అనే పనిముట్టుపై "
 "ఆధారపడిన ఒక [మైక్రో-బ్లాగింగు](http://en.wikipedia.org/wiki/Micro-blogging) సేవ."
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "%s యొక్క పునరావృతం"
@@ -4822,32 +5037,41 @@ msgstr "పాఠ్యపు పరిమితి"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr "అదే విషయాన్ని మళ్ళీ టపా చేయడానికి వాడుకరులు ఎంత సమయం (క్షణాల్లో) వేచివుండాలి."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "సైటు గమనిక"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 #, fuzzy
 msgid "Edit site-wide message"
 msgstr "కొత్త సందేశం"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "సైటు గమనికని భద్రపరచు"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "సైటు-వారీ నోటీసుకి గరిష్ఠ పొడవు 255 అక్షరాలు."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "సైటు గమనిక పాఠ్యం"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "సైటు-వారీ నోటీసు పాఠ్యం (255 అక్షరాలు గరిష్ఠం; HTML పర్లేదు)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "సైటు గమనికని భద్రపరచు"
 
@@ -5066,13 +5290,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "సైటు అమరికలను భద్రపరచు"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "మీరు ఎవరికీ చందాచేరలేదు."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "కొత్త చందాని చేర్చలేకపోయాం."
 
@@ -5306,76 +5532,94 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "వాడుకరి"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
-msgstr ""
+msgstr "ఈ స్టేటస్&zwnj;నెట్ సైటుకి వాడుకరి అమరికలు"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "చెల్లని స్వాగత పాఠ్యం. గరిష్ఠ పొడవు 255 అక్షరాలు."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "ప్రొఫైలు"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "స్వపరిచయ పరిమితి"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "స్వపరిచయం యొక్క గరిష్ఠ పొడవు, అక్షరాలలో."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "కొత్త వాడుకరులు"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "కొత్త వాడుకరి స్వాగతం"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "కొత్త వాడుకరులకై స్వాగత సందేశం (255 అక్షరాలు గరిష్ఠం)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "అప్రమేయ చందా"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr "ఉపయోగించాల్సిన యాంత్రిక కుదింపు సేవ."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "ఆహ్వానాలు"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "ఆహ్వానాలని చేతనంచేసాం"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "వాడుకరులను కొత్త వారిని ఆహ్వానించడానికి అనుమతించాలా వద్దా."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "వాడుకరి అమరికలను భద్రపరచు"
 
@@ -5474,11 +5718,13 @@ msgstr "'%s' అనే అవతారపు URL తప్పు"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "'%s' కొరకు తప్పుడు బొమ్మ రకం"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "ఫ్రొఫైలు రూపురేఖలు"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 #, fuzzy
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
@@ -5565,7 +5811,7 @@ msgid "Plugins"
 msgstr "ప్లగిన్లు"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "సంచిక"
 
@@ -5581,9 +5827,9 @@ msgstr "ఇష్టపడు"
 #. TRANS: Ntofication given when a user marks a notice as favorite.
 #. TRANS: %1$s is a user nickname or full name, %2$s is a notice URI.
 #: classes/Fave.php:151
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s marked notice %2$s as a favorite."
-msgstr "%s (@%s) మీ నోటీసుని ఇష్టపడ్డారు"
+msgstr "%2$s నోటీసుని %1$s ఇష్టాంశంగా గుర్తించారు."
 
 #. TRANS: Server exception thrown when a URL cannot be processed.
 #: classes/File.php:142
@@ -5598,29 +5844,38 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "తప్పుడు దస్త్రపుపేరు.."
 
@@ -5748,40 +6003,47 @@ msgid "Problem saving notice."
 msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5853,32 +6115,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "@%2$s, %1$sకి స్వాగతం!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "గుంపుని సృష్టించలేకపోయాం."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "గుంపుని సృష్టించలేకపోయాం."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "గుంపు సభ్యత్వాన్ని అమర్చలేకపోయాం."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "స్థానిక గుంపుని తాజాకరించలేకున్నాం."
 
@@ -5929,195 +6191,202 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "శీర్షికలేని పేజీ"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "మరింత చూపించు"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "ప్రాధమిక సైటు మార్గదర్శిని"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr ""
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "వ్యక్తిగత"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "మీ ఈమెయిలు, అవతారం, సంకేతపదం మరియు ప్రౌఫైళ్ళను మార్చుకోండి"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "ఖాతా"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 #, fuzzy
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "అనుసంధానాలు"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "అనుసంధానించు"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "సైటు స్వరూపణాన్ని మార్చండి"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "నిర్వాహకులు"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "%sలో తోడుకై మీ స్నేహితులని మరియు సహోద్యోగులని ఆహ్వానించండి"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "ఆహ్వానించు"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "సైటు నుండి నిష్క్రమించు"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "నిష్క్రమించు"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "ఖాతాని సృష్టించుకోండి"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "నమోదు"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "సైటు లోనికి ప్రవేశించండి"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "ప్రవేశించు"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "సహాయం కావాలి!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "సహాయం"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "ప్రజలు లేదా పాఠ్యం కొరకు వెతకండి"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "వెతుకు"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "సైటు గమనిక"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "స్థానిక వీక్షణలు"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "పేజీ గమనిక"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "ద్వితీయ సైటు మార్గదర్శిని"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "సహాయం"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "గురించి"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "ప్రశ్నలు"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "సేవా నియమాలు"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "అంతరంగికత"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "మూలము"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "సంప్రదించు"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "బాడ్జి"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "స్టేటస్‌నెట్ మృదూపకరణ లైసెన్సు"
 
@@ -6125,7 +6394,7 @@ msgstr "స్టేటస్‌నెట్ మృదూపకరణ లైస
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6135,7 +6404,7 @@ msgstr ""
 "అందిస్తున్న సూక్ష్మ బ్లాగింగు సేవ."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** అనేది మైక్రో బ్లాగింగు సదుపాయం."
@@ -6144,7 +6413,7 @@ msgstr "**%%site.name%%** అనేది మైక్రో బ్లాగి
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6156,50 +6425,50 @@ msgstr ""
 "పై నడుస్తుంది."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "స్టేటస్‌నెట్ మృదూపకరణ లైసెన్సు"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "పేజీకరణ"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "తర్వాత"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "ఇంతక్రితం"
 
@@ -6280,7 +6549,7 @@ msgid "User configuration"
 msgstr "వాడుకరి స్వరూపణం"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "వాడుకరి"
 
@@ -6549,7 +6818,7 @@ msgid "AJAX error"
 msgstr "అజాక్స్ పొరపాటు"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "ఆదేశం పూర్తయ్యింది"
 
@@ -6566,7 +6835,7 @@ msgstr "ఆ ఈమెయిలు చిరునామా లేదా వా
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "వాడుకరికి ప్రొఫైలు లేదు."
@@ -6636,6 +6905,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6673,138 +6950,142 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
+msgstr[1] "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 #, fuzzy
 msgid "Error sending direct message."
 msgstr "నేరుగా సందేశాలు పంపడం నుండి మిమ్మల్ని నిషేధించారు."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "సందేశాలు"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "నోటీసుని పునరావృతించడంలో పొరపాటు."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
+msgstr[1] "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "%sకి స్పందనలు"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "నోటీసుని భద్రపరచడంలో పొరపాటు."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "ఏవరికి చందా చేరాలనుకుంటున్నారో ఆ వాడుకరి పేరుని ఇవ్వండి."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr ""
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "%sకి చందా చేరారు."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "ఎవరినుండైతే చందావిరమించాలనుకుంటున్నారో ఆ వాడుకరి పేరుని ఇవ్వండి."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 #, fuzzy
 msgid "Command not yet implemented."
 msgstr "క్షమించండి, ఈ ఆదేశం ఇంకా అమలుపరచబడలేదు."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 #, fuzzy
 msgid "Notification off."
 msgstr "నిర్ధారణ సంకేతం లేదు."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 #, fuzzy
 msgid "Notification on."
 msgstr "నిర్ధారణ సంకేతం లేదు."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 #, fuzzy
 msgid "Can't turn on notification."
 msgstr "మీ నోటీసుని మీరే పునరావృతించలేరు."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "ఈ లంకెని ఒకేసారి ఉపయోగించగలరు మరియు అది 2 నిమిషాల వరకు మాత్రమే చెల్లుతుంది: %s."
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
-msgstr ""
+msgstr "%sని చందా విరమింపజేసారు."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "మీరు ఎవరికీ చందాచేరలేదు."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "%sకి స్పందనలు"
@@ -6812,14 +7093,14 @@ msgstr[1] "%sకి స్పందనలు"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "మీకు చందాదార్లు ఎవరూ లేరు."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "%sకి స్పందనలు"
@@ -6827,21 +7108,21 @@ msgstr[1] "%sకి స్పందనలు"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "మీరు ఏ గుంపులోనూ సభ్యులు కాదు."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "మీరు ఇప్పటికే లోనికి ప్రవేశించారు!"
 msgstr[1] "మీరు ఇప్పటికే లోనికి ప్రవేశించారు!"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6947,23 +7228,41 @@ msgstr "అధీకృత అనుసంధాన ఉపకరణాలు"
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "ఫైలుని ఎక్కించు"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "మీ వ్యక్తిగత నేపథ్యపు చిత్రాన్ని మీరు ఎక్కించవచ్చు. గరిష్ఠ ఫైలు పరిమాణం 2మెబై."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "ఆన్"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "ఆఫ్"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "రీసెట్"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -6978,11 +7277,11 @@ msgstr "ఈ నోటీసుని పునరావృతించు"
 
 #: lib/feed.php:84
 msgid "RSS 1.0"
-msgstr ""
+msgstr "RSS 1.0"
 
 #: lib/feed.php:86
 msgid "RSS 2.0"
-msgstr ""
+msgstr "RSS 2.0"
 
 #: lib/feed.php:88
 msgid "Atom"
@@ -6992,7 +7291,8 @@ msgstr "ఆటమ్"
 msgid "FOAF"
 msgstr ""
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "ఫీడులు"
 
@@ -7031,7 +7331,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1-64 చిన్నబడి అక్షరాలు లేదా అంకెలు, విరామచిహ్నాలు మరియు ఖాళీలు తప్ప"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "ఈ ఉపకరణం యొక్క హోమ్&zwnj;పేజీ చిరునామా"
 
 #: lib/groupeditform.php:168
@@ -7039,19 +7340,28 @@ msgid "Describe the group or topic"
 msgstr "గుంపుని లేదా విషయాన్ని వివరించండి"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "గుంపు లేదా విషయాన్ని గురించి %d అక్షరాల్లో వివరించండి"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "గుంపు లేదా విషయాన్ని గురించి %d అక్షరాల్లో వివరించండి"
+msgstr[1] "గుంపు లేదా విషయాన్ని గురించి %d అక్షరాల్లో వివరించండి"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "గుంపు యొక్క ప్రాంతం, ఉంటే, \"నగరం, రాష్ట్రం (లేదా ప్రాంతం), దేశం\""
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
+msgstr[1] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7151,39 +7461,57 @@ msgstr ""
 msgid "Unsupported image file format."
 msgstr ""
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "ఇది చాలా పొడవుంది. గరిష్ఠ సందేశ పరిమాణం 140 అక్షరాలు."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "పాక్షిక ఎగుమతి."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr ""
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "బొమ్మ కాదు లేదా పాడైపోయిన ఫైలు."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "అటువంటి ఫైలు లేదు."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "తెలియని ఫైలు రకం"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "మెబై"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "మెబై"
+msgstr[1] "మెబై"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "కిబై"
+msgstr[1] "కిబై"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "కిబై"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
+msgstr[1] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7422,7 +7750,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) మీ నోటీసుని ఇష్టపడ్డారు"
@@ -7432,7 +7760,7 @@ msgstr "%1$s (@%2$s) మీ నోటీసుని ఇష్టపడ్డా
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7470,7 +7798,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7483,7 +7811,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%1$s (@%2$s) మీ దృష్టికి ఒక నోటిసుని పంపించారు"
@@ -7494,7 +7822,7 @@ msgstr "%1$s (@%2$s) మీ దృష్టికి ఒక నోటిసు
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7577,7 +7905,7 @@ msgstr "క్షమించండి, అది మీ లోనికివ
 msgid "Sorry, no incoming email allowed."
 msgstr "క్షమించండి, అది మీ లోనికివచ్చు ఈమెయిలు చిరునామా కాదు."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "%s కి నేరు సందేశాలు"
@@ -7639,7 +7967,7 @@ msgstr "ఇష్టాంశాన్ని తొలగించలేకప
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7648,7 +7976,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7793,31 +8121,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "కొత్త చందాని చేర్చలేకపోయాం."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "వ్యక్తిగత"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "స్పందనలు"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "ఇష్టాంశాలు"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "వచ్చినవి"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "మీకు వచ్చిన సందేశాలు"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "పంపినవి"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "మీరు పంపిన సందేశాలు"
 
@@ -7926,16 +8254,17 @@ msgid "Sandbox this user"
 msgstr "ఈ వాడుకరిని నిరోధించు"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "సైటుని వెతుకు"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "కీపదము(లు)"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8016,6 +8345,12 @@ msgstr ""
 msgid "None"
 msgstr "ఏమీలేదు"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "తప్పుడు దస్త్రపుపేరు.."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -8025,8 +8360,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "అవతారపు తాజాకరణ విఫలమైంది."
@@ -8037,29 +8372,32 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "నిరోధాన్ని తొలగించడంలో పొరపాటు."
 
@@ -8067,6 +8405,12 @@ msgstr "నిరోధాన్ని తొలగించడంలో పొ
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "నిరోధపు ఎత్తివేత"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8234,17 +8578,22 @@ msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
 msgstr[1] "నోటిసు చాలా పొడవుగా ఉంది - %1$d అక్షరాలు గరిష్ఠం, మీరు %2$d పంపించారు."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "గుంపు ఏమీ పేర్కొనలేదు."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
+msgstr[1] ""
index b96a6da1bcadda00448968efba2ffee2c3742b8b..5e83b9863dfe916590af44300e15c999dd91db13 100644 (file)
@@ -11,17 +11,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:40+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:46+0000\n"
 "Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: tr\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -79,15 +79,22 @@ msgstr "Erişim ayarlarını kaydet"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Kaydet"
@@ -118,6 +125,7 @@ msgstr "Böyle bir kullanıcı yok."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -130,14 +138,14 @@ msgstr "Böyle bir kullanıcı yok."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Böyle bir kullanıcı yok."
@@ -154,7 +162,7 @@ msgstr "%1$s ve arkadaşları, sayfa %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s ve arkadaşları"
@@ -211,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -313,11 +323,12 @@ msgstr "Kullanıcı güncellenemedi."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -331,11 +342,13 @@ msgstr "Profil kaydedilemedi."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -505,9 +518,11 @@ msgstr "Kaynak kullanıcı belirlenemedi."
 msgid "Could not find target user."
 msgstr "Hedef kullanıcı bulunamadı."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -515,35 +530,43 @@ msgstr ""
 "kullanılamaz. "
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Takma ad kullanımda. Başka bir tane deneyin."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Geçersiz bir takma ad."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Başlangıç sayfası adresi geçerli bir URL değil."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -552,19 +575,25 @@ msgstr "Tam isim çok uzun (azm: 255 karakter)."
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "Yer bilgisi çok uzun (azm: %d karakter)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -572,7 +601,12 @@ msgstr "Yer bilgisi çok uzun (azm: 255 karakter)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -587,15 +621,19 @@ msgstr "Geçersiz büyüklük."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Diğerisim \"%s\" kullanımda. Başka bir tane deneyin."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Diğerisim, kullanıcı adı ile aynı olamaz."
 
@@ -701,21 +739,21 @@ msgid "Request token already authorized."
 msgstr "Takip talebine izin verildi"
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "Oturum belirtecinizde bir sorun var. Lütfen, tekrar deneyin."
 
@@ -731,17 +769,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "OAuth uygulama kullanıcısı eklerken veritabanı hatası."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Beklenmeğen form girdisi."
 
@@ -786,16 +826,16 @@ msgstr ""
 
 #. TRANS: Fieldset legend.
 #: actions/apioauthauthorize.php:455
-#, fuzzy
 msgctxt "LEGEND"
 msgid "Account"
 msgstr "Hesap"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -889,20 +929,21 @@ msgstr "Başka bir kullanıcının durum mesajını silemezsiniz."
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Böyle bir durum mesajı yok."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Kendi durum mesajınızı tekrarlayamazsınız."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Bu durum mesajı zaten tekrarlanmış."
 
@@ -923,7 +964,8 @@ msgstr "İstemci, bir değere sahip 'status' parametresi sağlamalı."
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -937,7 +979,7 @@ msgstr "Onay kodu bulunamadı."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1043,106 +1085,139 @@ msgstr "UPA metodu yapım aşamasında."
 msgid "User not found."
 msgstr "Onay kodu bulunamadı."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Böyle bir durum mesajı yok."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Takma ad yok"
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Boyut yok."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Geçersiz büyüklük."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Avatar"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr ""
 "Kişisel kullanıcı resminizi yükleyebilirsiniz. Maksimum dosya boyutu %s'dir."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 #, fuzzy
 msgid "User without matching profile."
 msgstr "Kullanıcının profili yok."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Profil ayarları"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Orijinal"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Önizleme"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Sil"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Yükle"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Kırp"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Hiçbir dosya yüklenmedi."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Resimden kullanıcı resminiz olacak bir kare alanı seçin"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr ""
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Avatar güncellendi."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Avatar güncellemede hata."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Kullanıcı resmi silindi."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Jabber ID başka bir kullanıcıya ait."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Kullanıcıyı engelle"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1159,8 +1234,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1168,7 +1243,7 @@ msgstr "Hayır"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Bu kullanıcıyı engelleme"
 
@@ -1178,8 +1253,8 @@ msgstr "Bu kullanıcıyı engelleme"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1187,140 +1262,170 @@ msgstr "Evet"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Bu kullanıcıyı engelle"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Engelleme bilgisinin kaydedilmesi başarısızlığa uğradı."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Böyle bir kullanıcı yok."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s engellenmiş profil"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, fuzzy, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%s ve arkadaşları"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Bu gruba katılması engellenmiş kullanıcıların bir listesi."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Kullanıcının gruba üye olma engellemesini kaldır"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Engellemeyi Kaldır"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Bu kullanıcının engellemesini kaldır"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, fuzzy, php-format
 msgid "Post to %s"
 msgstr "%s için cevaplar"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Onay kodu yok."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Onay kodu bulunamadı."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "O onay kodu sizin için değil!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Tanınmayan adres türü %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "O adres daha önce onaylanmış."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Kullanıcı güncellenemedi."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
 msgstr "Eposta onayı silinemedi."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Onayla"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "\"%s\" adresi hesabınız için onaylandı."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Konuşma"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Durum mesajları"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Bir uygulamayı silmek için giriş yapmış olmanız gerekir."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Onay kodu bulunamadı."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Bu uygulamanın sahibi değilsiniz."
@@ -1328,15 +1433,18 @@ msgstr "Bu uygulamanın sahibi değilsiniz."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Uygulamayı sil"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1347,12 +1455,12 @@ msgstr ""
 "temizleyecektir."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Bu uygulamayı silme"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Bu uygulamayı sil"
 
@@ -1389,13 +1497,14 @@ msgstr "Grup güncellenemedi."
 msgid "Deleted group %s"
 msgstr "%1$s'in %2$s'deki durum mesajları "
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "Kullanıcıyı sil"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1418,22 +1527,27 @@ msgstr "Bu durum mesajını silme"
 msgid "Delete this group"
 msgstr "Bu kullanıcıyı sil"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Giriş yapılmadı."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Bu durum mesajı silinemiyor."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
@@ -1441,21 +1555,24 @@ msgstr ""
 "Bir durum mesajını kalıcı olarak silmek üzeresiniz. Bu bir kez yapıldığında, "
 "geri alınamaz."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Durum mesajını sil"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Bu durum mesajını silmek istediğinizden emin misiniz?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Bu durum mesajını silme"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Bu durum mesajını sil"
 
@@ -1517,9 +1634,8 @@ msgid "Site logo"
 msgstr "Site logosu"
 
 #: actions/designadminpanel.php:457
-#, fuzzy
 msgid "SSL logo"
-msgstr "Site logosu"
+msgstr "SSL logosu"
 
 #: actions/designadminpanel.php:469
 msgid "Change theme"
@@ -1541,12 +1657,14 @@ msgstr "Özel tema"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Özel bir StatusNet temasını .ZIP arşivi olarak yükleyebilirsiniz."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Arkaplan resmini değiştir"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Arkaplan"
 
@@ -1560,40 +1678,48 @@ msgstr ""
 "$s'dir."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Açık"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Kapalı"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Arkaplan resmini açın ya da kapatın."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Arkaplan resmini döşe"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Renkleri değiştir"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "İçerik"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Kenar Çubuğu"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Metin"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Bağlantılar"
 
@@ -1605,29 +1731,31 @@ msgstr "Gelişmiş"
 msgid "Custom CSS"
 msgstr "Özel CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "Öntanımlıları kullan"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr ""
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Öntanımlıya geri dön"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Kaydet"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Dizaynı kaydet"
 
@@ -1671,9 +1799,9 @@ msgid "Name is required."
 msgstr "İsim gereklidir."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "İsim çok uzun (maksimum: 255 karakter)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1702,7 +1830,7 @@ msgid "Organization is required."
 msgstr "Organizasyon gereklidir."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Organizasyon çok uzun (maksimum 255 karakter)."
@@ -1726,49 +1854,49 @@ msgstr ""
 msgid "Could not update application."
 msgstr "Uygulama güncellenemedi."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "%s grubunu düzenle"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Bir grup oluşturmak için giriş yapmış olmanız gerekir."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "Bir grubu düzenlemek için bir yönetici olmalısınız."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Grubu düzenlemek için bu biçimi kullan."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Yer bilgisi çok uzun (azm: %d karakter)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Çok fazla diğerisim! En fazla %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, fuzzy, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "%s Geçersiz başlangıç sayfası"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Grup güncellenemedi."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Kullanıcı güncellenemedi."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Seçenekler kaydedildi."
 
@@ -1968,6 +2096,12 @@ msgstr "İptal etmek için beklenen onay yok."
 msgid "That is the wrong email address."
 msgstr "Bu yanlış e-posta adresi."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Eposta onayı silinemedi."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2048,7 +2182,7 @@ msgid ""
 msgstr ""
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s kullanıcısının favori durum mesajları"
@@ -2150,19 +2284,23 @@ msgstr "Bize o profili yollamadınız"
 msgid "User already has this role."
 msgstr "Kullanıcının profili yok."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Hiçbir profil belirtilmedi."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr ""
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Hiçbir grup belirtilmedi."
@@ -2223,8 +2361,10 @@ msgid ""
 "palette of your choice."
 msgstr ""
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 #, fuzzy
 msgid "Couldn't update your design."
 msgstr "Kullanıcı güncellenemedi."
@@ -2245,6 +2385,14 @@ msgid ""
 msgstr ""
 "Ah, durumunuz biraz uzun kaçtı. Azami 180 karaktere sığdırmaya ne dersiniz?"
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Yükle"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Kırp"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Resimden logo olacak bir kare alanı seçin."
@@ -2381,15 +2529,18 @@ msgid ""
 "action.newgroup%%) yourself!"
 msgstr ""
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr ""
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Kullanıcı gruptan engellenmedi."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Engellemeyi kaldırırken hata."
 
@@ -2479,7 +2630,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Onaylanmış Jabber/Gtalk adresi."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Tercihler kaydedildi."
 
@@ -2603,12 +2754,11 @@ msgstr[0] "Bize o profili yollamadınız"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s'in %2$s'deki durum mesajları "
 
 #. TRANS: Message displayed inviting users to use a StatusNet site while the invited user
 #. TRANS: already uses a this StatusNet site. Plural form is based on the number of
@@ -2756,7 +2906,8 @@ msgid ""
 msgstr ""
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "Geçersiz lisans başlığı. En fazla uzunluk 255 karakterdir."
 
 #: actions/licenseadminpanel.php:168
@@ -2934,28 +3085,20 @@ msgstr ""
 msgid "Use this form to register a new application."
 msgstr ""
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "İsim çok uzun (maksimum: 255 karakter)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr ""
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Organizasyon çok uzun (maksimum 255 karakter)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Eposta onayı silinemedi."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Yeni grup"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr ""
@@ -2965,7 +3108,7 @@ msgid "New message"
 msgstr "Yeni mesaj"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 #, fuzzy
 msgid "You can't send a message to this user."
 msgstr "Bize o profili yollamadınız"
@@ -2973,7 +3116,7 @@ msgstr "Bize o profili yollamadınız"
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "İçerik yok!"
 
@@ -2982,7 +3125,7 @@ msgid "No recipient specified."
 msgstr ""
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -2993,12 +3136,12 @@ msgstr ""
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "%s kullanıcısına özel mesaj gönderildi."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax Hatası"
 
@@ -3006,18 +3149,7 @@ msgstr "Ajax Hatası"
 msgid "New notice"
 msgstr "Yeni durum mesajı"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Bu çok uzun. Maksimum durum mesajı boyutu %d karakterdir."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"Maksimum durum mesajı boyutu, eklenti bağlantıları dahil %d karakterdir."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Durum mesajı gönderildi"
 
@@ -3148,25 +3280,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Kullanıcının profili yok."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s'in %2$s'deki durum mesajları "
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, fuzzy, php-format
 msgid "Content type %s not supported."
 msgstr "Bağlan"
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr ""
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Desteklenen bir veri biçimi değil."
@@ -3179,37 +3311,46 @@ msgstr "Kişi Arama"
 msgid "Notice Search"
 msgstr "Durum Mesajı Arama"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Profil ayarları"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr ""
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr ""
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Bağlantıları şununla kısalt"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Kullanılacak otomatik kısaltma servisi."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Profil dizaynlarını görüntüle"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr ""
 
-#: actions/othersettings.php:153
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
 #, fuzzy
-msgid "URL shortening service is too long (max 50 chars)."
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "Yer bilgisi çok uzun (azm: 255 karakter)."
 
 #: actions/otp.php:69
@@ -3657,8 +3798,9 @@ msgstr ""
 "verilmez"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Tam İsim"
@@ -3699,9 +3841,10 @@ msgid "Bio"
 msgstr "Hakkında"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Yer"
@@ -4039,7 +4182,8 @@ msgid "Unexpected password reset."
 msgstr "Beklemeğen parola sıfırlaması."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "Parola 6 veya daha fazla karakterden oluşmalıdır."
 
 #: actions/recoverpassword.php:369
@@ -4270,7 +4414,7 @@ msgid "Repeated!"
 msgstr "Yarat"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "%s için cevaplar"
@@ -4403,11 +4547,12 @@ msgstr "Organizasyon"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Tanım"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "İstatistikler"
@@ -4425,6 +4570,11 @@ msgstr ""
 msgid "Reset key & secret"
 msgstr ""
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Sil"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr ""
@@ -4509,77 +4659,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr ""
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr ""
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, fuzzy, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Bütün abonelikler"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Kullanıcının profili yok."
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "Bağlantı"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Not"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Diğerisimler"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr ""
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, fuzzy, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, fuzzy, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, fuzzy, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, fuzzy, php-format
 msgid "FOAF for %s group"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Üyeler"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Yok)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Tüm üyeler"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Oluşturuldu"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Üyeler"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4589,7 +4768,10 @@ msgid ""
 "of this group and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4598,24 +4780,31 @@ msgid ""
 "their life and interests. "
 msgstr ""
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Yöneticiler"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Böyle bir mesaj yok."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr ""
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr ""
@@ -4624,60 +4813,86 @@ msgstr ""
 msgid "Notice deleted."
 msgstr "Durum mesajı silindi."
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr ""
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%s ve arkadaşları"
 
-#: actions/showstream.php:78
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "%s adli kullanicinin durum mesajlari"
+
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, fuzzy, php-format
 msgid "%1$s, page %2$d"
 msgstr "%s ve arkadaşları"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, fuzzy, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, fuzzy, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, fuzzy, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, fuzzy, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "%s için durum RSS beslemesi"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr ""
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr ""
+"Bu, %s ve arkadaşlarının zaman çizelgesi ama henüz hiç kimse bir şey "
+"göndermemiş."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr ""
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 msgstr ""
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4686,7 +4901,9 @@ msgid ""
 "follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
 msgstr ""
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4694,7 +4911,8 @@ msgid ""
 "[StatusNet](http://status.net/) tool. "
 msgstr ""
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, fuzzy, php-format
 msgid "Repeat of %s"
 msgstr "%s için cevaplar"
@@ -4807,33 +5025,41 @@ msgstr ""
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Durum mesajları"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 #, fuzzy
 msgid "Unable to save site notice."
 msgstr "Durum mesajını kaydederken hata oluştu."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
-msgstr ""
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
+msgstr "Geçersiz lisans başlığı. En fazla uzunluk 255 karakterdir."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 #, fuzzy
 msgid "Site notice text"
 msgstr "Yeni durum mesajı"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 #, fuzzy
 msgid "Save site notice"
 msgstr "Yeni durum mesajı"
@@ -5061,13 +5287,15 @@ msgstr ""
 msgid "Save snapshot settings"
 msgstr "Ayarlar"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 #, fuzzy
 msgid "You are not subscribed to that profile."
 msgstr "Bize o profili yollamadınız"
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Yeni abonelik eklenemedi."
 
@@ -5302,78 +5530,96 @@ msgid ""
 msgstr ""
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr ""
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr ""
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr ""
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
-msgstr ""
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
+msgstr "Geçersiz lisans başlığı. En fazla uzunluk 255 karakterdir."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr ""
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Profil"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr ""
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr ""
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Yeni kullanıcılar"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Yeni kullanıcı karşılaması"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "Yeni kullanıcılar için hoşgeldiniz metni (En fazla 255 karakter)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 #, fuzzy
 msgid "Default subscription"
 msgstr "Bütün abonelikler"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 #, fuzzy
 msgid "Automatically subscribe new users to this user."
 msgstr "Takip talebine izin verildi"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 #, fuzzy
 msgid "Invitations"
 msgstr "Yer"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr ""
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr ""
 
@@ -5476,12 +5722,14 @@ msgstr "Avatar URLi '%s' okunamıyor"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "%s için yanlış resim türü"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 #, fuzzy
 msgid "Profile design"
 msgstr "Profil ayarları"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5566,7 +5814,7 @@ msgid "Plugins"
 msgstr "Eklentiler"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Sürüm"
 
@@ -5599,29 +5847,35 @@ msgstr ""
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] ""
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr ""
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] ""
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Geçersiz dosya ismi."
 
@@ -5753,40 +6007,47 @@ msgid "Problem saving notice."
 msgstr "Durum mesajını kaydederken hata oluştu."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
 msgstr ""
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 #, fuzzy
 msgid "Problem saving group inbox."
 msgstr "Durum mesajını kaydederken hata oluştu."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, fuzzy, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Profil kaydedilemedi."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr ""
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s'in %2$s'deki durum mesajları "
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr ""
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5858,32 +6119,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr ""
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Kullanıcı güncellenemedi."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Profil kaydedilemedi."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Kullanıcı güncellenemedi."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Profil kaydedilemedi."
 
@@ -5933,60 +6194,66 @@ msgstr "%1$s'in %2$s'deki durum mesajları "
 msgid "Untitled page"
 msgstr "Başlıksız sayfa"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr ""
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Kişisel profil ve arkadaşların zaman çizelgesi"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Kişisel"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "E-postanızı, kullanıcı resminizi, parolanızı, profilinizi değiştirin"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Hesap"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "Servislere bağlan"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "Bağlan"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Site yapılandırmasını değiştir"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Yönetim"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
@@ -5995,138 +6262,139 @@ msgstr ""
 "edin"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Davet et"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr ""
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 #, fuzzy
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Çıkış"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Bir hesap oluştur"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Kayıt"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Siteye giriş"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Giriş"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Bana yardım et!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Yardım"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Kişi ya da yazılar için arama yap"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Ara"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 #, fuzzy
 msgid "Site notice"
 msgstr "Yeni durum mesajı"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr ""
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 #, fuzzy
 msgid "Page notice"
 msgstr "Yeni durum mesajı"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 #, fuzzy
 msgid "Secondary site navigation"
 msgstr "Abonelikler"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Yardım"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Hakkında"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "SSS"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr ""
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Gizlilik"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Kaynak"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "İletişim"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr ""
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet yazılım lisansı"
 
@@ -6134,7 +6402,7 @@ msgstr "StatusNet yazılım lisansı"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, fuzzy, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6144,7 +6412,7 @@ msgstr ""
 "hazırlanan anında mesajlaşma ağıdır. "
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** bir aninda mesajlaşma sosyal ağıdır."
@@ -6153,7 +6421,7 @@ msgstr "**%%site.name%%** bir aninda mesajlaşma sosyal ağıdır."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6165,50 +6433,50 @@ msgstr ""
 "microbloglama yazılımının %s. versiyonunu kullanmaktadır."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Site içeriği lisansı"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr ""
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr ""
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr ""
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Sonra"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Önce"
 
@@ -6287,7 +6555,7 @@ msgid "User configuration"
 msgstr "Onay kodu yok."
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Kullanıcı"
 
@@ -6557,7 +6825,7 @@ msgid "AJAX error"
 msgstr ""
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr ""
 
@@ -6573,7 +6841,7 @@ msgstr ""
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 #, fuzzy
 msgid "User has no last notice."
 msgstr "Kullanıcının profili yok."
@@ -6640,6 +6908,14 @@ msgstr ""
 msgid "%1$s left group %2$s."
 msgstr ""
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s'in %2$s'deki durum mesajları "
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6677,131 +6953,133 @@ msgid ""
 "same server."
 msgstr ""
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Bu çok uzun. Maksimum durum mesajı boyutu %d karakterdir."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 #, fuzzy
 msgid "Error sending direct message."
 msgstr "Kullanıcı ayarlamada hata oluştu."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, fuzzy, php-format
 msgid "Notice from %s repeated."
 msgstr "Durum mesajları"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Kullanıcı ayarlamada hata oluştu."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "Bu çok uzun. Maksimum durum mesajı boyutu %d karakterdir."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, fuzzy, php-format
 msgid "Reply to %s sent."
 msgstr "%s için cevaplar"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 #, fuzzy
 msgid "Error saving notice."
 msgstr "Durum mesajını kaydederken hata oluştu."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr ""
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 #, fuzzy
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Bize o profili yollamadınız"
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr ""
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr ""
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 #, fuzzy
 msgid "Notification off."
 msgstr "Onay kodu yok."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr ""
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 #, fuzzy
 msgid "Notification on."
 msgstr "Onay kodu yok."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr ""
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr ""
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr ""
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 #, fuzzy
 msgid "You are not subscribed to anyone."
 msgstr "Bize o profili yollamadınız"
@@ -6809,14 +7087,14 @@ msgstr "Bize o profili yollamadınız"
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Bize o profili yollamadınız"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 #, fuzzy
 msgid "No one is subscribed to you."
 msgstr "Uzaktan abonelik"
@@ -6824,14 +7102,14 @@ msgstr "Uzaktan abonelik"
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Uzaktan abonelik"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 #, fuzzy
 msgid "You are not a member of any groups."
 msgstr "Bize o profili yollamadınız"
@@ -6839,13 +7117,13 @@ msgstr "Bize o profili yollamadınız"
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Bize o profili yollamadınız"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6948,11 +7226,14 @@ msgstr ""
 msgid "Database error"
 msgstr ""
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 #, fuzzy
 msgid "Upload file"
 msgstr "Yükle"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 #, fuzzy
 msgid ""
@@ -6960,16 +7241,29 @@ msgid ""
 msgstr ""
 "Ah, durumunuz biraz uzun kaçtı. Azami 180 karaktere sığdırmaya ne dersiniz?"
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Sunucu, şu anki yapılandırması dolayısıyla bu kadar çok POST verisiyle (%s "
-"bytes) başa çıkamıyor."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "Açık"
+
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Kapalı"
 
-#: lib/designsettings.php:418
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Sıfırla"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr ""
 
@@ -6998,7 +7292,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr ""
 
@@ -7039,7 +7334,7 @@ msgstr ""
 
 #: lib/groupeditform.php:163
 #, fuzzy
-msgid "URL of the homepage or blog of the group or topic"
+msgid "URL of the homepage or blog of the group or topic."
 msgstr ""
 "Web Sitenizin, blogunuzun ya da varsa başka bir sitedeki profilinizin adresi"
 
@@ -7050,19 +7345,25 @@ msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
 
 #: lib/groupeditform.php:170
 #, fuzzy, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 #, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "Bulunduğunuz yer, \"Şehir, Eyalet (veya Bölge), Ülke\" gibi"
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7162,41 +7463,56 @@ msgstr "Bu sayfa kabul ettiğiniz ortam türünde kullanılabilir değil"
 msgid "Unsupported image file format."
 msgstr "Desteklenmeyen görüntü dosyası biçemi."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, fuzzy, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr ""
 "Ah, durumunuz biraz uzun kaçtı. Azami 180 karaktere sığdırmaya ne dersiniz?"
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Kısmi yükleme."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Dosya yüklemede sistem hatası."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Bu bir resim dosyası değil ya da dosyada hata var"
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 #, fuzzy
 msgid "Lost our file."
 msgstr "Böyle bir durum mesajı yok."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr ""
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
+
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7398,7 +7714,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s %2$s'da durumunuzu takip ediyor"
@@ -7408,7 +7724,7 @@ msgstr "%1$s %2$s'da durumunuzu takip ediyor"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7430,7 +7746,7 @@ msgid ""
 msgstr ""
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7440,7 +7756,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr ""
@@ -7451,7 +7767,7 @@ msgstr ""
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7511,7 +7827,7 @@ msgstr "Yanlış IM adresi."
 msgid "Sorry, no incoming email allowed."
 msgstr ""
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, fuzzy, php-format
 msgid "Unsupported message type: %s"
 msgstr "Desteklenmeyen görüntü dosyası biçemi."
@@ -7574,7 +7890,7 @@ msgstr "Kullanıcı güncellenemedi."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7583,7 +7899,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr ""
@@ -7730,31 +8046,31 @@ msgstr ""
 msgid "Couldn't insert new subscription."
 msgstr "Yeni abonelik eklenemedi."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Kişisel"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Cevaplar"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr ""
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr ""
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr ""
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr ""
 
@@ -7867,17 +8183,18 @@ msgid "Sandbox this user"
 msgstr "Böyle bir kullanıcı yok."
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 #, fuzzy
 msgid "Search site"
 msgstr "Ara"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr ""
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7962,6 +8279,12 @@ msgstr ""
 msgid "None"
 msgstr ""
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "Geçersiz dosya ismi."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr ""
@@ -7971,8 +8294,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr ""
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 #, fuzzy
 msgid "Failed saving theme."
 msgstr "Avatar güncellemede hata."
@@ -7983,29 +8306,31 @@ msgstr ""
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr ""
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr ""
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 #, fuzzy
 msgid "Error opening theme archive."
 msgstr "Uzaktaki profili güncellemede hata oluştu"
@@ -8014,6 +8339,13 @@ msgstr "Uzaktaki profili güncellemede hata oluştu"
 msgid "Top posters"
 msgstr ""
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Engellemeyi Kaldır"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr ""
@@ -8181,17 +8513,21 @@ msgid "Message too long. Maximum is %1$d character, you sent %2$d."
 msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "Bu çok uzun. Maksimum durum mesajı boyutu %d karakterdir."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
+msgid "Getting backup from file '%s'."
 msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 #, fuzzy
 msgid "No user specified; using backup user."
 msgstr "Yeni durum mesajı"
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr ""
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] ""
index d707e13ac1f333ebdc2554e3145537a7879bda62..8021630273ce6870e54c7e27acbd2701e8a30055 100644 (file)
@@ -12,18 +12,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:42+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:47+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
 "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -82,15 +82,22 @@ msgstr "Зберегти параметри доступу"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "Зберегти"
@@ -121,6 +128,7 @@ msgstr "Немає такої сторінки."
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -133,14 +141,14 @@ msgstr "Немає такої сторінки."
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "Такого користувача немає."
@@ -157,7 +165,7 @@ msgstr "%1$s та друзі, сторінка %2$d"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s з друзями"
@@ -211,7 +219,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -310,11 +320,12 @@ msgstr "Не вдалося оновити користувача."
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -327,11 +338,13 @@ msgstr "Не вдалося зберегти профіль."
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -511,9 +524,11 @@ msgstr "Не вдалось встановити джерело користув
 msgid "Could not find target user."
 msgstr "Не вдалося знайти цільового користувача."
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
@@ -521,35 +536,43 @@ msgstr ""
 "інтервалів."
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "Це ім’я вже використовується. Спробуйте інше."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "Це недійсне ім’я користувача."
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "Веб-сторінка має недійсну URL-адресу."
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 msgid "Full name is too long (maximum 255 characters)."
 msgstr "Повне ім’я надто довге (не більше 255 символів)."
@@ -557,10 +580,14 @@ msgstr "Повне ім’я надто довге (не більше 255 сим
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
@@ -569,16 +596,23 @@ msgstr[1] "Опис надто довгий (максимум — %d знакі
 msgstr[2] "Опис надто довгий (максимум — %d знаків)."
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 msgid "Location is too long (maximum 255 characters)."
 msgstr "Розташування надто довге (не більше 255 символів)."
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -595,15 +629,19 @@ msgstr "Помилкове додаткове ім’я: «%s»."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "Додаткове ім’я «%s» вже використовується. Спробуйте інше."
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "Додаткове ім’я не може бути таким самим що й основне."
 
@@ -706,21 +744,21 @@ msgid "Request token already authorized."
 msgstr "Токен запиту вже авторизовано."
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 "Виникли певні проблеми з токеном поточної сесії. Спробуйте знов, будь ласка."
@@ -736,17 +774,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "Помилка бази даних при додаванні параметру oauth_token_association."
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "Несподіване представлення форми."
 
@@ -796,9 +836,10 @@ msgstr "Акаунт"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -892,20 +933,21 @@ msgstr "Ви не можете видалити статус іншого кор
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "Такого допису немає."
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "Не можна повторювати власні дописи."
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "Цей допис вже повторено."
 
@@ -926,7 +968,8 @@ msgstr "Клієнт мусить надати параметр «статус»
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -941,7 +984,7 @@ msgstr "Початковий допис не знайдено."
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1052,104 +1095,136 @@ msgstr "API метод наразі знаходиться у розробці."
 msgid "User not found."
 msgstr "Сторінку не знайдено."
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "Такого вкладення немає."
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "Немає імені."
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "Немає розміру."
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "Недійсний розмір."
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "Аватара"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "Ви можете завантажити аватару. Максимальний розмір %s."
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "Користувач без відповідного профілю."
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "Налаштування аватари"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "Оригінал"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "Перегляд"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "Видалити"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "Завантажити"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "Втяти"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "Жодного файлу не завантажено."
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "Оберіть квадратну ділянку зображення, яка й буде вашою автарою."
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "Дані вашого файлу загублено."
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "Аватару оновлено."
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "Оновлення аватари невдале."
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "Аватару видалено."
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "Цього користувача вже заблоковано."
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "Блокувати користувача"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1165,8 +1240,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1174,7 +1249,7 @@ msgstr "Ні"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "Не блокувати цього користувача"
 
@@ -1184,8 +1259,8 @@ msgstr "Не блокувати цього користувача"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1193,140 +1268,168 @@ msgstr "Так"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "Блокувати користувача"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "Збереження інформації про блокування завершилось невдачею."
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "Такої спільноти не існує."
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "Заблоковані профілі %s"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "Заблоковані профілі %1$s, сторінка %2$d"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "Список користувачів, котрих заблоковано в цій спільноті."
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "Розблокувати користувача"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "Розблокувати"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "Розблокувати цього користувача"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "Опублікувати в %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "Немає коду підтвердження."
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Код підтвердження не знайдено."
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "Цей код підтвердження не для вас!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "Невизначений тип адреси %s."
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "Цю адресу вже підтверджено."
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "Не вдалося оновити користувача."
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "Не вдалося видалити підтвердження поштової адреси."
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+msgid "Could not delete address confirmation."
+msgstr "Не вдалося видалити адресу підтвердження."
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "Підтвердити адресу"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "Адресу «%s» підтверджено для вашого акаунту."
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "Розмова"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "Дописи"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "Ви маєте спочатку увійти, аби мати змогу видалити додаток."
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "Додаток не виявлено."
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "Ви не є власником цього додатку."
@@ -1334,15 +1437,18 @@ msgstr "Ви не є власником цього додатку."
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "Виникли певні проблеми з токеном поточної сесії."
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "Видалити додаток"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1353,12 +1459,12 @@ msgstr ""
 "додатку користувачів."
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "Не видаляти додаток"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "Видалити додаток"
 
@@ -1392,12 +1498,13 @@ msgstr "Не вдалося видалити спільноту %s."
 msgid "Deleted group %s"
 msgstr "Спільноту %s видалено"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 msgid "Delete group"
 msgstr "Видалити спільноту"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 msgid ""
 "Are you sure you want to delete this group? This will clear all data about "
@@ -1418,42 +1525,50 @@ msgstr "Не видаляти цю спільноту"
 msgid "Delete this group"
 msgstr "Видалити спільноту"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Не увійшли."
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "Не можна видалити цей допис."
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr "Ви видаляєте допис назавжди. Ця дія є незворотною."
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "Видалити допис"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "Ви впевненні, що бажаєте видалити цей допис?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "Не видаляти цей допис"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "Видалити допис"
 
@@ -1537,12 +1652,14 @@ msgstr "Своя тема"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "Ви можете завантажити свою тему для сайту StatusNet як .ZIP архів."
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "Змінити фонове зображення"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "Фон"
 
@@ -1556,40 +1673,48 @@ msgstr ""
 "%1$s."
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "Увімк."
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "Вимк."
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "Увімкнути або вимкнути фонове зображення."
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "Замостити фон"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "Змінити кольори"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "Зміст"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "Сайдбар"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "Текст"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "Посилання"
 
@@ -1601,29 +1726,31 @@ msgstr "Додатково"
 msgid "Custom CSS"
 msgstr "Свій CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "За замовч."
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "Оновити налаштування за замовчуванням"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "Повернутись до початкових налаштувань"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "Зберегти"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "Зберегти дизайн"
 
@@ -1667,9 +1794,9 @@ msgid "Name is required."
 msgstr "Потрібне ім’я."
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
-msgid "Name is too long (max 255 characters)."
-msgstr "Ð\86мâ\80\99Ñ\8f Ð·Ð°довге (не більше 255 знаків)."
+#: actions/editapplication.php:188 actions/newapplication.php:169
+msgid "Name is too long (maximum 255 characters)."
+msgstr "Ð\86мâ\80\99Ñ\8f Ð½Ð°Ð´Ñ\82о довге (не більше 255 знаків)."
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
 #: actions/editapplication.php:192 actions/newapplication.php:166
@@ -1697,7 +1824,7 @@ msgid "Organization is required."
 msgstr "Потрібна організація."
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "Назва організації надто довга (не більше 255 знаків)."
 
@@ -1720,51 +1847,51 @@ msgstr "URL-адреса для зворотнього дзвінка не є д
 msgid "Could not update application."
 msgstr "Не вдалося оновити додаток."
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "Змінити властивості спільноти %s"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "Ви маєте спочатку увійти, аби мати змогу започаткувати спільноту."
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr ""
 "Ви маєте бути наділені правами адміністратора, аби відредагувати властивості "
 "даної спільноти."
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "Скористайтесь цією формою, щоб відредагувати властивості спільноти."
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "Опис надто довгий (%d знаків максимум)."
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "Забагато додаткових імен! Максимум становить %d."
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "Помилкове додаткове ім’я: «%s»"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "Не вдалося оновити спільноту."
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "Неможна призначити додаткові імена."
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "Опції збережено."
 
@@ -1956,6 +2083,12 @@ msgstr "Не очікується підтвердження для скасув
 msgid "That is the wrong email address."
 msgstr "Це помилкова адреса електронної пошти."
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "Не вдалося видалити підтвердження поштової адреси."
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2037,7 +2170,7 @@ msgstr ""
 "дописи до улюблених!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "Обрані дописи %s"
@@ -2134,19 +2267,23 @@ msgstr "Ви не можете надавати користувачеві жо
 msgid "User already has this role."
 msgstr "Користувач вже має цю роль."
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "Не визначено жодного профілю."
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "Не визначено профілю з таким ID."
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "Спільноту не визначено."
@@ -2213,8 +2350,10 @@ msgstr ""
 "Налаштуйте вигляд сторінки спільноти, використовуючи фонове зображення і "
 "кольори на свій смак."
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "Не вдалося оновити дизайн."
 
@@ -2234,6 +2373,14 @@ msgstr ""
 "Ви маєте можливість завантажити логотип для вашої спільноти. Максимальний "
 "розмір файлу становить %s."
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Завантажити"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Втяти"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "Оберіть квадратну ділянку зображення, яка й буде логотипом спільноти."
@@ -2377,15 +2524,18 @@ msgstr ""
 "Чому б не [зареєструватись](%%action.register%%) і не [започаткувати](%%"
 "action.newgroup%%) свою власну спільноту!"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "Лише адміністратори можуть розблокувати учасників спільноти."
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "Користувача не блоковано."
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "Помилка при розблокуванні."
 
@@ -2476,7 +2626,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Позначати міткою MicroID мою адресу Jabber/GTalk."
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "Преференції збережно."
 
@@ -2599,10 +2749,9 @@ msgstr[2] "Ви вже підписані до цих користувачів:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
+#: actions/invite.php:145 actions/invite.php:159
 #, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2792,8 +2941,8 @@ msgstr ""
 "використовувати варіант «Всі права захищені»."
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
-msgstr "Ð\9fомилковий назва ліцензії. Максимальна довжина — 255 символів."
+msgid "Invalid license title. Maximum length is 255 characters."
+msgstr "Ð\9fомилкова назва ліцензії. Максимальна довжина — 255 символів."
 
 #: actions/licenseadminpanel.php:168
 msgid "Invalid license URL."
@@ -2969,26 +3118,20 @@ msgstr "Ви маєте спочатку увійти, аби мати змог
 msgid "Use this form to register a new application."
 msgstr "Скористайтесь цією формою, щоб зареєструвати новий додаток."
 
-#: actions/newapplication.php:169
-msgid "Name is too long (maximum 255 chars)."
-msgstr "Ім’я надто довге (не більше 255 символів)."
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Потрібна URL-адреса."
 
-#: actions/newapplication.php:199
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "Назва організації надто довга (не більше 255 знаків)."
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "Не вдалося створити додаток."
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "Нова спільнота"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "Скористайтесь цією формою для створення нової спільноти."
@@ -2998,14 +3141,14 @@ msgid "New message"
 msgstr "Нове повідомлення"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "Ви не можете надіслати повідомлення цьому користувачеві."
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "Немає змісту!"
 
@@ -3014,7 +3157,7 @@ msgid "No recipient specified."
 msgstr "Жодного отримувача не визначено."
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
@@ -3026,12 +3169,12 @@ msgstr "Повідомлення надіслано"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "Пряме повідомлення для %s надіслано."
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Помилка в Ajax"
 
@@ -3039,19 +3182,7 @@ msgstr "Помилка в Ajax"
 msgid "New notice"
 msgstr "Новий допис"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "Надто довго. Максимальний розмір допису — %d знаків."
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
-"Максимальна довжина допису становить %d знаків, включно з URL-адресою "
-"вкладення."
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "Допис надіслано"
 
@@ -3192,25 +3323,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "Допис не має профілю."
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s має статус на %2$s"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "Тип змісту %s не підтримується."
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "URL-адреса %s лише в простому HTTP, будь ласка."
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "Такий формат даних не підтримується."
@@ -3223,37 +3354,46 @@ msgstr "Пошук людей"
 msgid "Notice Search"
 msgstr "Пошук дописів"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "Інші опції"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "Керування деякими іншими опціями."
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr " (вільний сервіс)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "Скорочення URL"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "Доступні сервіси."
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "Переглядати дизайн користувачів"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "Показувати або приховувати дизайни сторінок окремих користувачів."
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
-msgstr "Сервіс скорочення URL-адрес надто довгий (50 знаків максимум)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+msgid "URL shortening service is too long (maximum 50 characters)."
+msgstr "Сервіс скорочення URL-адрес надто довгий (50 символів максимум)."
 
 #: actions/otp.php:69
 msgid "No user ID specified."
@@ -3678,8 +3818,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1-64 рядкових літер і цифр, ніякої пунктуації або інтервалів."
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "Повне ім’я"
@@ -3719,9 +3860,10 @@ msgid "Bio"
 msgstr "Про себе"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "Розташування"
@@ -4062,7 +4204,7 @@ msgid "Unexpected password reset."
 msgstr "Несподіване скидання паролю."
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+msgid "Password must be 6 characters or more."
 msgstr "Пароль має складатись з 6-ти або більше знаків."
 
 #: actions/recoverpassword.php:369
@@ -4304,7 +4446,7 @@ msgid "Repeated!"
 msgstr "Повторено!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "Відповіді до %s"
@@ -4437,11 +4579,12 @@ msgstr "Організація"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "Опис"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "Статистика"
@@ -4459,6 +4602,11 @@ msgstr "Можливості додатку"
 msgid "Reset key & secret"
 msgstr "Призначити новий ключ і таємне слово"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "Видалити"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "Інфо додатку"
@@ -4552,77 +4700,104 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "Це спосіб поділитись з усіма тим, що вам подобається."
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "Спільнота %s"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "Спільнота %1$s, сторінка %2$d"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "Профіль спільноти"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "Зауваження"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "Додаткові імена"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "Дії спільноти"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "Стрічка дописів спільноти %s (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "Стрічка дописів спільноти %s (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "Стрічка дописів спільноти %s (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "FOAF спільноти %s"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "Учасники"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(Пусто)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "Всі учасники"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+msgctxt "LABEL"
 msgid "Created"
 msgstr "Створено"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+msgctxt "LABEL"
+msgid "Members"
+msgstr "Учасники"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4638,7 +4813,10 @@ msgstr ""
 "register%%%%) зараз і долучіться до спілкування! ([Дізнатися більше](%%%%doc."
 "help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4651,24 +4829,31 @@ msgstr ""
 "програмному забезпеченні [StatusNet](http://status.net/). Учасники цієї "
 "спільноти роблять короткі дописи про своє життя та інтереси. "
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "Адміни"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "Немає такого повідомлення."
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "Лише відправник та отримувач мають можливість читати це повідомлення."
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "Повідомлення до %1$s на %2$s"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "Повідомлення від %1$s на %2$s"
@@ -4677,47 +4862,67 @@ msgstr "Повідомлення від %1$s на %2$s"
 msgid "Notice deleted."
 msgstr "Допис видалено."
 
-#: actions/showstream.php:72
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, php-format
+msgid "%1$s tagged %2$s"
+msgstr "Дописи %1$s позначені теґом %2$s"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
 #, php-format
-msgid " tagged %s"
-msgstr " позначено з %s"
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "Дописи %1$s позначені теґом %2$s, сторінка %3$d"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s, сторінка %2$d"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "Стрічка дописів %1$s з теґом «%2$s» (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "Стрічка дописів для %s (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "Стрічка дописів для %s (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "Стрічка дописів для %s (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "FOAF для %s"
 
-#: actions/showstream.php:197
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
 #, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
-msgstr "Це стрічка дописів %1$s, але %2$s ще нічого не написав."
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
+msgstr "Це стрічка дописів %1$s, але %1$s ще нічого не написав."
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
@@ -4725,7 +4930,9 @@ msgstr ""
 "Побачили щось цікаве нещодавно? Ви ще нічого не написали і це слушна нагода "
 "аби розпочати! :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4734,7 +4941,9 @@ msgstr ""
 "Ви можете «розштовхати» %1$s або [щось йому написати](%%%%action.newnotice%%%"
 "%?status_textarea=%2$s)."
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4748,7 +4957,9 @@ msgstr ""
 "register%%%%) зараз і слідкуйте за дописами **%s**, також на вас чекає "
 "багато іншого! ([Дізнатися більше](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4759,7 +4970,8 @@ msgstr ""
 "(http://uk.wikipedia.org/wiki/Мікроблогінг), який працює на вільному "
 "програмному забезпеченні [StatusNet](http://status.net/). "
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "Повторення за %s"
@@ -4875,32 +5087,39 @@ msgstr ""
 "Як довго користувачі мають зачекати (в секундах) аби надіслати той самий "
 "допис ще раз."
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "Повідомлення сайту"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "Змінити повідомлення сайту"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "Не вдається зберегти повідомлення сайту."
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "Максимальна довжина повідомлення сайту становить 255 символів."
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "Текст повідомлення"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr ""
 "Текст повідомлення сайту (255 символів максимум; деякий HTML дозволено)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "Зберегти повідомлення сайту"
 
@@ -5116,12 +5335,14 @@ msgstr "Снепшоти надсилатимуться на цю URL-адрес
 msgid "Save snapshot settings"
 msgstr "Зберегти налаштування знімку"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "Ви не підписані до цього профілю."
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "Не вдалося зберегти підписку."
 
@@ -5360,76 +5581,92 @@ msgid ""
 msgstr "Ліцензія «%1$s» не відповідає ліцензії сайту «%2$s»."
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "Користувач"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "Налаштування користувача даного сайту StatusNet"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "Помилкове обмеження біо. Це мають бути цифри."
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "Помилковий текст привітання. Максимальна довжина — 255 символів."
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
 #, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "Помилкова підписка за замовчуванням: «%1$s» не є користувачем."
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "Профіль"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "Обмеження біо"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "Максимальна довжина біо користувача в знаках."
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "Нові користувачі"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "Привітання нового користувача"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
-msgstr "Текст привітання нових користувачів (255 знаків)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+msgid "Welcome text for new users (maximum 255 characters)."
+msgstr "Текст привітання нових користувачів (не більше 255 символів)."
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "Підписка за замовчуванням"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "Автоматично підписувати нових користувачів до цього користувача."
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "Запрошення"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "Запрошення скасовано"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr ""
 "В той чи інший спосіб дозволити користувачам вітати нових користувачів."
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "Зберегти налаштування користувача"
 
@@ -5537,11 +5774,13 @@ msgstr "Не можна прочитати URL аватари «%s»."
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "Неправильний тип зображення для URL-адреси аватари «%s»."
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "Дизайн профілю"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5642,7 +5881,7 @@ msgid "Plugins"
 msgstr "Додатки"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "Версія"
 
@@ -5675,31 +5914,47 @@ msgstr "Робін вважає, що це неможливо."
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
 #, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
-"Ні, файл не може бути більшим за %1$d байтів, а те, що ви хочете надіслати, "
+msgstr[0] ""
+"Файл не може бути більшим за %1$d байт, а те, що ви хочете надіслати, важить "
+"%2$d байтів. Спробуйте завантажити меншу версію."
+msgstr[1] ""
+"Файл не може бути більшим за %1$d байтів, а те, що ви хочете надіслати, "
+"важить %2$d байтів. Спробуйте завантажити меншу версію."
+msgstr[2] ""
+"Файл не може бути більшим за %1$d байтів, а те, що ви хочете надіслати, "
 "важить %2$d байтів. Спробуйте завантажити меншу версію."
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
 #, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "Розміри цього файлу перевищують вашу квоту на %d байтів."
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "Розміри цього файлу перевищують вашу квоту у %d байт."
+msgstr[1] "Розміри цього файлу перевищують вашу квоту у %d байтів."
+msgstr[2] "Розміри цього файлу перевищують вашу квоту у %d байтів."
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
 #, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "Розміри цього файлу перевищують вашу місячну квоту на %d байтів."
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "Розміри цього файлу перевищують вашу місячну квоту у %d байт."
+msgstr[1] "Розміри цього файлу перевищують вашу місячну квоту у %d байтів."
+msgstr[2] "Розміри цього файлу перевищують вашу місячну квоту у %d байтів."
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "Невірне ім’я файлу."
 
@@ -5828,39 +6083,46 @@ msgid "Problem saving notice."
 msgstr "Проблема при збереженні допису."
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
-msgstr "Ð\97адаÑ\94Ñ\82Ñ\8cÑ\81Ñ\8f Ð½ÐµÐ²Ñ\96Ñ\80ний Ñ\82ип Ð´Ð»Ñ\8f saveKnownGroups"
+#: classes/Notice.php:905
+msgid "Bad type provided to saveKnownGroups."
+msgstr "Ð\92казано Ð½ÐµÐ²Ñ\96Ñ\80ний Ñ\82ип Ð´Ð»Ñ\8f saveKnownGroups."
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "Проблема при збереженні вхідних дописів спільноти."
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "Не вдалося зберегти відповідь для %1$d, %2$d."
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "Не вдалося скасувати роль «%s» для користувача #%2$s; не існує."
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr ""
@@ -5931,32 +6193,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "Вітаємо на %1$s, @%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "Користувача для однокористувацького режиму не визначено."
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr "Код для однокористувацького режиму називається, коли не ввімкнуто."
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "Не вдалося створити нову спільноту."
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "Не вдалося встановити URI спільноти."
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "Не вдалося встановити членство."
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "Не вдалося зберегти інформацію про локальну спільноту."
 
@@ -6006,194 +6268,201 @@ msgstr "%1$s — %2$s"
 msgid "Untitled page"
 msgstr "Сторінка без заголовку"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr "Розгорнути"
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "Відправна навігація по сайту"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "Персональний профіль і стрічка друзів"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "Особисте"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "Змінити електронну адресу, аватару, пароль, профіль"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "Акаунт"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "З’єднання з сервісами"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "З’єднання"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "Змінити конфігурацію сайту"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "Адмін"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "Запросіть друзів та колег приєднатись до вас на %s"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "Запросити"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "Вийти з сайту"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "Вийти"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "Створити новий акаунт"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "Реєстрація"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "Увійти на сайт"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "Увійти"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "Допоможіть!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "Довідка"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "Пошук людей або текстів"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "Пошук"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "Об’яви на сайті"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "Огляд"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "Зауваження сторінки"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "Другорядна навігація по сайту"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "Допомога"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "Про"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "ЧаП"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "Умови"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "Приватність"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "Джерело"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "Контакт"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "Бедж"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "Ліцензія програмного забезпечення StatusNet"
 
@@ -6201,7 +6470,7 @@ msgstr "Ліцензія програмного забезпечення StatusN
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6211,7 +6480,7 @@ msgstr ""
 "site.broughtbyurl%%)."
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** — це сервіс мікроблоґів."
@@ -6220,7 +6489,7 @@ msgstr "**%%site.name%%** — це сервіс мікроблоґів."
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6232,51 +6501,51 @@ msgstr ""
 "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "Ліцензія змісту сайту"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "Зміст і дані %1$s є приватними і конфіденційними."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "Авторські права на зміст і дані належать %1$s. Всі права захищено."
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr ""
 "Авторські права на зміст і дані належать розробникам. Всі права захищено."
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "Весь зміст і дані %1$s доступні на умовах ліцензії %2$s."
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "Нумерація сторінок"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "Вперед"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "Назад"
 
@@ -6356,7 +6625,7 @@ msgid "User configuration"
 msgstr "Конфігурація користувача"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "Користувач"
 
@@ -6621,7 +6890,7 @@ msgid "AJAX error"
 msgstr "Помилка в Ajax"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "Команду виконано"
 
@@ -6637,7 +6906,7 @@ msgstr "Допису з таким id не існує."
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "Користувач не має останнього допису."
 
@@ -6706,6 +6975,14 @@ msgstr "%1$s приєднався до спільноти %2$s."
 msgid "%1$s left group %2$s."
 msgstr "%1$s залишив спільноту %2$s."
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6745,116 +7022,128 @@ msgstr ""
 "%s — це віддалений профіль; ви можете надсилати приватні повідомлення лише "
 "користувачам одного з вами сервісу."
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
 #, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Повідомлення надто довге, максимум становить %1$d символ, натомість ви "
+"надсилаєте %2$d."
+msgstr[1] ""
+"Повідомлення надто довге, максимум становить %1$d символів, натомість ви "
+"надсилаєте %2$d."
+msgstr[2] ""
 "Повідомлення надто довге, максимум становить %1$d символів, натомість ви "
 "надсилаєте %2$d."
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "Помилка при відправці прямого повідомлення."
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "Допису від %s вторували."
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "Помилка при повторенні допису."
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
+#: lib/command.php:591
 #, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
-"Допис надто довгий, максимум становить %1$d символів, а ви надсилаєте %2$d."
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] ""
+"Допис надто довгий, максимум становить %1$d символ, ви надсилаєте %2$d."
+msgstr[1] ""
+"Допис надто довгий, максимум становить %1$d символів, ви надсилаєте %2$d."
+msgstr[2] ""
+"Допис надто довгий, максимум становить %1$d символів, ви надсилаєте %2$d."
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "Відповідь для %s надіслано."
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "Проблема при збереженні допису."
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "Зазначте ім’я користувача, до якого бажаєте підписатись."
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "Не можу підписатись до  профілю OMB за командою."
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "Тепер ви підписані на дописи %s."
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "Зазначте ім’я користувача, від якого бажаєте відписатись."
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "Підписку на дописи від %s скасовано."
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "Виконання команди ще не завершено."
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "Сповіщення вимкнуто."
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "Не можна вимкнути сповіщення."
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "Сповіщення увімкнуто."
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "Не можна увімкнути сповіщення."
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "Команду входу відключено."
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr ""
@@ -6862,20 +7151,20 @@ msgstr ""
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "Підписку %s скасовано."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "Ви не маєте жодних підписок."
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "Ви підписані до цієї особи:"
@@ -6884,14 +7173,14 @@ msgstr[2] "Ви підписані до цих людей:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "Ніхто до вас не підписаний."
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "Ця особа є підписаною до вас:"
@@ -6900,14 +7189,14 @@ msgstr[2] "Ці люди підписані до вас:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "Ви не залучені до жодної спільноти."
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "Ви є учасником спільноти:"
@@ -6915,7 +7204,7 @@ msgstr[1] "Ви є учасником таких спільнот:"
 msgstr[2] "Ви є учасником таких спільнот:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -7054,10 +7343,13 @@ msgstr "Авторизовані під’єднані додатки"
 msgid "Database error"
 msgstr "Помилка бази даних"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "Завантажити файл"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
@@ -7065,16 +7357,26 @@ msgstr ""
 "Ви можете завантажити власне фонове зображення. Максимальний розмір файлу "
 "становить 2Мб."
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr ""
-"Сервер нездатен обробити таку кількість даних (%s байтів) за поточної "
-"конфігурації."
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+msgctxt "RADIO"
+msgid "On"
+msgstr "Увімк."
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+msgctxt "RADIO"
+msgid "Off"
+msgstr "Вимк."
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "Скинути"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "Дизайн за замовчуванням відновлено."
 
@@ -7102,7 +7404,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Веб-стрічки"
 
@@ -7141,8 +7444,8 @@ msgstr ""
 "1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
-msgstr "URL-адреса веб-сторінки або тематичного блоґу сільноти"
+msgid "URL of the homepage or blog of the group or topic."
+msgstr "URL-адреса веб-сторінки або тематичного блоґу спільноти"
 
 #: lib/groupeditform.php:168
 msgid "Describe the group or topic"
@@ -7150,20 +7453,35 @@ msgstr "Опишіть спільноту або тему"
 
 #: lib/groupeditform.php:170
 #, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "Опишіть спільноту або тему, вкладаючись у %d знаків"
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "Опишіть спільноту або тему, вкладаючись у %d знак"
+msgstr[1] "Опишіть спільноту або тему, вкладаючись у %d знаків"
+msgstr[2] "Опишіть спільноту або тему, вкладаючись у %d знаків"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "Розташування спільноти, на кшталт «Місто, область (або регіон), країна»"
+"Location for the group, if any, like \"City, State (or Region), Country\"."
+msgstr ""
+"Розташування спільноти, на кшталт «Місто, область (або регіон), країна»."
 
-#: lib/groupeditform.php:187
+#: lib/groupeditform.php:190
 #, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] ""
 "Додаткові імена для спільноти, відокремлювати комами або пробілами, максимум "
-"— %d імені"
+"— %d ім’я."
+msgstr[1] ""
+"Додаткові імена для спільноти, відокремлювати комами або пробілами, максимум "
+"— %d імені."
+msgstr[2] ""
+"Додаткові імена для спільноти, відокремлювати комами або пробілами, максимум "
+"— %d імен."
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7263,39 +7581,60 @@ msgstr "Ця сторінка не доступна для того типу м
 msgid "Unsupported image file format."
 msgstr "Формат зображення не підтримується."
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "Цей файл завеликий. Максимальний розмір %s."
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "Часткове завантаження."
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "Система відповіла помилкою при завантаженні цього файла."
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "Це не зображення, або файл зіпсовано."
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "Файл втрачено."
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "Тип файлу не підтримується"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "Мб"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "%d Мб"
+msgstr[1] "%d Мб"
+msgstr[2] "%d Мб"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "кб"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "%d кб"
+msgstr[1] "%d кб"
+msgstr[2] "%d кб"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] "%d б"
+msgstr[1] "%d б"
+msgstr[2] "%d б"
 
 #: lib/jabber.php:387
 #, php-format
@@ -7547,7 +7886,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%1$s (@%2$s) додав(ла) ваш допис обраних"
@@ -7557,7 +7896,7 @@ msgstr "%1$s (@%2$s) додав(ла) ваш допис обраних"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7595,7 +7934,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7608,7 +7947,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%1$s (@%2$s) пропонує до вашої уваги наступний допис"
@@ -7619,7 +7958,7 @@ msgstr "%1$s (@%2$s) пропонує до вашої уваги наступн
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7703,7 +8042,7 @@ msgid "Sorry, no incoming email allowed."
 msgstr ""
 "Вибачте, але не затверджено жодної електронної адреси для вхідної пошти."
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "Формат повідомлення не підтримується: %s"
@@ -7767,7 +8106,7 @@ msgstr "Не вдається визначити MIME-тип файлу."
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7778,7 +8117,7 @@ msgstr ""
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "Тип файлів «%s» тепер не підтримується на даному сервері."
@@ -7919,31 +8258,31 @@ msgstr "Дублікат допису."
 msgid "Couldn't insert new subscription."
 msgstr "Не вдалося додати нову підписку."
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "Особисте"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "Відповіді"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "Обрані"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "Вхідні"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "Ваші вхідні повідомлення"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "Вихідні"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "Надіслані вами повідомлення"
 
@@ -8049,16 +8388,17 @@ msgid "Sandbox this user"
 msgstr "Ізолювати, відіслати користувача гратися у пісочниці"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "Пошук"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "Ключові слова"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -8139,6 +8479,11 @@ msgstr "Хмарка теґів (якими ви позначили корист
 msgid "None"
 msgstr "Пусто"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+msgid "Invalid theme name."
+msgstr "Невірне назва теми."
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "Цей сервер не може опрацювати завантаження теми без підтримки ZIP."
@@ -8148,8 +8493,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "Файл теми відсутній, або стався збій при завантаженні."
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "Помилка при збереженні теми."
 
@@ -8159,16 +8504,24 @@ msgstr "Невірна тема: хибна структура каталогі
 
 #: lib/themeuploader.php:166
 #, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr ""
-"Тема, що її було завантажено, надто велика; без компресії розмір має "
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] ""
+"Тема, що її було завантажено, надто велика; без компресії її розмір має "
+"становити менше ніж %d байт."
+msgstr[1] ""
+"Тема, що її було завантажено, надто велика; без компресії її розмір має "
+"становити менше ніж %d байтів."
+msgstr[2] ""
+"Тема, що її було завантажено, надто велика; без компресії її розмір має "
 "становити менше ніж %d байтів."
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "В архіві з темою є помилка: відсутній файл css/display.css"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
@@ -8176,18 +8529,18 @@ msgstr ""
 "Тема містить неприпустиме ім’я файлу або теки. Використовуйте літери "
 "стандарту ASCII, цифри, знаки підкреслення та мінусу."
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr ""
 "У темі містяться файли, що мають небезпечні розширення; це може виявитися "
 "небезпечним."
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "Тема містить файл типу «.%s», який є неприпустимим."
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "Помилка при відкритті архіву з темою."
 
@@ -8195,6 +8548,12 @@ msgstr "Помилка при відкритті архіву з темою."
 msgid "Top posters"
 msgstr "Топ-дописувачі"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "Розблокувати"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "Витягти з пісочниці"
@@ -8373,18 +8732,24 @@ msgstr[2] ""
 "Повідомлення надто довге. Максимум становить %1$d символів, натомість ви "
 "надсилаєте %2$d."
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "РезеÑ\80вна ÐºÐ¾Ð¿Ñ\96Ñ\8f Ñ\84айлÑ\96в ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а %s (%s)"
+msgid "Getting backup from file '%s'."
+msgstr "Ð\9eÑ\82Ñ\80иманнÑ\8f Ñ\80езеÑ\80вноÑ\97 ÐºÐ¾Ð¿Ñ\96Ñ\97 Ñ\84айлÑ\83 Â«%s»."
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr ""
 "Користувача не зазначено; для створення резервної копії потрібно зазначити "
 "користувача."
 
-#: scripts/restoreuser.php:94
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
 #, php-format
-msgid "%d entries in backup."
-msgstr "У резервному файлі збережено %d дописів."
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "У резервному файлі збережено %d допис."
+msgstr[1] "У резервному файлі збережено %d дописів."
+msgstr[2] "У резервному файлі збережено %d дописів."
index f95400972d0fef7130c47862b1cba34519bb3ddc..8a027120df6f3cb8b0d3620c4fbc83ee3aacad1e 100644 (file)
@@ -14,18 +14,18 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Core\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-28 23:09:44+0000\n"
+"POT-Creation-Date: 2010-11-07 20:24+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:48+0000\n"
 "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
 "hans>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r75629); Translate extension (2010-09-17)\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: zh-hans\n"
 "X-Message-Group: #out-statusnet-core\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-POT-Import-Date: 2010-10-28 00:13:15+0000\n"
+"X-POT-Import-Date: 2010-11-05 00:36:07+0000\n"
 
 #. TRANS: Page title for Access admin panel that allows configuring site access.
 #. TRANS: Menu item for site administration
@@ -82,15 +82,22 @@ msgstr "保存访问设置"
 #. TRANS: Tooltip for button to save access settings in site admin panel.
 #. TRANS: Button label to save e-mail preferences.
 #. TRANS: Button label to save IM preferences.
+#. TRANS: Button text for saving "Other settings" in profile.
 #. TRANS: Button text to store form data in the Paths admin panel.
 #. TRANS: Button to save input in profile settings.
+#. TRANS: Button text for saving site notice in admin panel.
 #. TRANS: Button label to save SMS preferences.
 #. TRANS: Save button for settings for a profile in a subscriptions list.
+#. TRANS: Button text to save user settings in user admin panel.
 #. TRANS: Button label in the "Edit application" form.
+#. TRANS: Button text on profile design page to save settings.
 #: actions/accessadminpanel.php:193 actions/emailsettings.php:228
-#: actions/imsettings.php:187 actions/pathsadminpanel.php:512
-#: actions/profilesettings.php:201 actions/smssettings.php:209
-#: actions/subscriptions.php:246 lib/applicationeditform.php:355
+#: actions/imsettings.php:187 actions/othersettings.php:134
+#: actions/pathsadminpanel.php:512 actions/profilesettings.php:201
+#: actions/sitenoticeadminpanel.php:197 actions/smssettings.php:209
+#: actions/subscriptions.php:246 actions/useradminpanel.php:298
+#: lib/applicationeditform.php:355 lib/designsettings.php:270
+#: lib/groupeditform.php:207
 msgctxt "BUTTON"
 msgid "Save"
 msgstr "保存"
@@ -121,6 +128,7 @@ msgstr "没有这个页面。"
 #. TRANS: Client error displayed when requesting most recent dents by user and friends for a non-existing user.
 #. TRANS: Client error displayed when requesting most recent mentions for a non-existing user.
 #. TRANS: Client error displayed requesting most recent notices for a non-existing user.
+#. TRANS: Client error displayed trying to get an avatar for a non-existing user.
 #. TRANS: Error text shown when trying to send a direct message to a user that does not exist.
 #: actions/all.php:80 actions/apiaccountupdatedeliverydevice.php:110
 #: actions/apiaccountupdateprofile.php:103
@@ -133,14 +141,14 @@ msgstr "没有这个页面。"
 #: actions/apistatusesupdate.php:230 actions/apisubscriptions.php:85
 #: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:173
 #: actions/apitimelinehome.php:78 actions/apitimelinementions.php:77
-#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:75
+#: actions/apitimelineuser.php:79 actions/avatarbynickname.php:79
 #: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
 #: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
 #: actions/otp.php:76 actions/remotesubscribe.php:145
 #: actions/remotesubscribe.php:154 actions/replies.php:73
 #: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
 #: actions/userbyid.php:74 actions/usergroups.php:93 actions/userrss.php:40
-#: actions/xrds.php:71 lib/command.php:495 lib/galleryaction.php:59
+#: actions/xrds.php:71 lib/command.php:497 lib/galleryaction.php:59
 #: lib/mailbox.php:82 lib/profileaction.php:77
 msgid "No such user."
 msgstr "没有这个用户。"
@@ -157,7 +165,7 @@ msgstr "%1$s 和好友,第%2$d页"
 #. TRANS: Timeline title for user and friends. %s is a user nickname.
 #: actions/all.php:94 actions/all.php:191 actions/allrss.php:115
 #: actions/apitimelinefriends.php:207 actions/apitimelinehome.php:113
-#: lib/personalgroupnav.php:100
+#: lib/personalgroupnav.php:103
 #, php-format
 msgid "%s and friends"
 msgstr "%s 和好友们"
@@ -210,7 +218,9 @@ msgstr ""
 
 #. TRANS: Encoutagement displayed on empty timeline user pages for anonymous users.
 #. TRANS: %s is a user nickname. This message contains Markdown links. Keep "](" together.
-#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:208
+#. TRANS: Second sentence of empty message for anonymous users. %s is a user nickname.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/all.php:155 actions/replies.php:210 actions/showstream.php:227
 #, php-format
 msgid ""
 "Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -308,11 +318,12 @@ msgstr "无法更新用户。"
 #. TRANS: Client error displayed a user has no profile updating profile colours.
 #. TRANS: Client error displayed if a user profile could not be found updating a profile image.
 #. TRANS: Client error displayed when requesting user information for a user without a profile.
+#. TRANS: Client error displayed trying to get an avatar for a user without a profile.
 #: actions/apiaccountupdateprofile.php:111
 #: actions/apiaccountupdateprofilebackgroundimage.php:199
 #: actions/apiaccountupdateprofilecolors.php:183
 #: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/avatarbynickname.php:85 actions/foaf.php:65 actions/hcard.php:74
 #: actions/replies.php:80 actions/usergroups.php:100 lib/galleryaction.php:66
 #: lib/profileaction.php:84
 msgid "User has no profile."
@@ -325,11 +336,13 @@ msgstr "无法保存个人信息。"
 
 #. TRANS: Client error displayed when the number of bytes in a POST request exceeds a limit.
 #. TRANS: %s is the number of bytes of the CONTENT_LENGTH.
+#. TRANS: Form validation error in design settings form. POST should remain untranslated.
 #: actions/apiaccountupdateprofilebackgroundimage.php:108
 #: actions/apiaccountupdateprofileimage.php:95 actions/apimediaupload.php:81
-#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:259
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:269
 #: actions/designadminpanel.php:125 actions/editapplication.php:121
 #: actions/newapplication.php:104 actions/newnotice.php:95
+#: lib/designsettings.php:298
 #, fuzzy, php-format
 msgid ""
 "The server was unable to handle that much POST data (%s byte) due to its "
@@ -497,43 +510,53 @@ msgstr "无法确定源用户。"
 msgid "Could not find target user."
 msgstr "无法找到目标用户。"
 
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:165 actions/editgroup.php:186
-#: actions/newgroup.php:126 actions/profilesettings.php:243
+#: actions/apigroupcreate.php:165 actions/editgroup.php:191
+#: actions/newgroup.php:127 actions/profilesettings.php:243
 #: actions/register.php:212
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr "昵称只能使用小写字母和数字且不能使用空格。"
 
 #. TRANS: Client error trying to create a group with a nickname this is already in use.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:175 actions/editgroup.php:190
-#: actions/newgroup.php:130 actions/profilesettings.php:277
+#: actions/apigroupcreate.php:175 actions/editgroup.php:196
+#: actions/newgroup.php:132 actions/profilesettings.php:277
 #: actions/register.php:215
 msgid "Nickname already in use. Try another one."
 msgstr "昵称已被使用,换一个吧。"
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:183 actions/editgroup.php:193
-#: actions/newgroup.php:133 actions/profilesettings.php:247
+#: actions/apigroupcreate.php:183 actions/editgroup.php:200
+#: actions/newgroup.php:136 actions/profilesettings.php:247
 #: actions/register.php:217
 msgid "Not a valid nickname."
 msgstr "不是有效的昵称。"
 
 #. TRANS: Client error in form for group creation.
 #. TRANS: Validation error shown when providing an invalid homepage URL in the "Edit application" form.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
 #: actions/apigroupcreate.php:200 actions/editapplication.php:233
-#: actions/editgroup.php:199 actions/newapplication.php:211
-#: actions/newgroup.php:139 actions/profilesettings.php:252
+#: actions/editgroup.php:207 actions/newapplication.php:211
+#: actions/newgroup.php:143 actions/profilesettings.php:252
 #: actions/register.php:224
 msgid "Homepage is not a valid URL."
 msgstr "主页的URL不正确。"
 
 #. TRANS: Client error in form for group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:210 actions/editgroup.php:202
-#: actions/newgroup.php:142 actions/profilesettings.php:256
+#: actions/apigroupcreate.php:210 actions/editgroup.php:211
+#: actions/newgroup.php:147 actions/profilesettings.php:256
 #: actions/register.php:227
 #, fuzzy
 msgid "Full name is too long (maximum 255 characters)."
@@ -542,19 +565,25 @@ msgstr "全名过长(不能超过 255 个字符)。"
 #. TRANS: Client error shown when providing too long a description during group creation.
 #. TRANS: %d is the maximum number of allowed characters.
 #. TRANS: Validation error shown when providing too long a description in the "Edit application" form.
+#. TRANS: Group edit form validation error.
 #. TRANS: Form validation error in New application form.
 #. TRANS: %d is the maximum number of characters for the description.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed characters.
 #: actions/apigroupcreate.php:220 actions/editapplication.php:201
-#: actions/newapplication.php:178
+#: actions/editgroup.php:216 actions/newapplication.php:178
+#: actions/newgroup.php:152
 #, fuzzy, php-format
 msgid "Description is too long (maximum %d character)."
 msgid_plural "Description is too long (maximum %d characters)."
 msgstr[0] "描述过长(不能超过%d 个字符)。"
 
 #. TRANS: Client error shown when providing too long a location during group creation.
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
 #. TRANS: Validation error in form for profile settings.
-#: actions/apigroupcreate.php:234 actions/editgroup.php:208
-#: actions/newgroup.php:153 actions/profilesettings.php:269
+#: actions/apigroupcreate.php:234 actions/editgroup.php:223
+#: actions/newgroup.php:159 actions/profilesettings.php:269
 #: actions/register.php:236
 #, fuzzy
 msgid "Location is too long (maximum 255 characters)."
@@ -562,7 +591,12 @@ msgstr "位置过长(不能超过255个字符)。"
 
 #. TRANS: Client error shown when providing too many aliases during group creation.
 #. TRANS: %d is the maximum number of allowed aliases.
-#: actions/apigroupcreate.php:255 actions/newgroup.php:166
+#. TRANS: Group edit form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#. TRANS: Group create form validation error.
+#. TRANS: %d is the maximum number of allowed aliases.
+#: actions/apigroupcreate.php:255 actions/editgroup.php:236
+#: actions/newgroup.php:172
 #, fuzzy, php-format
 msgid "Too many aliases! Maximum %d allowed."
 msgid_plural "Too many aliases! Maximum %d allowed."
@@ -577,15 +611,19 @@ msgstr "无效的别名:“%s”。"
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is already in use.
 #. TRANS: %s is the alias that is already in use.
-#: actions/apigroupcreate.php:291 actions/editgroup.php:232
-#: actions/newgroup.php:181
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:291 actions/editgroup.php:253
+#: actions/newgroup.php:189
 #, php-format
 msgid "Alias \"%s\" already in use. Try another one."
 msgstr "%s这个别名已被使用,换一个吧。"
 
 #. TRANS: Client error displayed when trying to use an alias during group creation that is the same as the group's nickname.
-#: actions/apigroupcreate.php:305 actions/editgroup.php:238
-#: actions/newgroup.php:187
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/apigroupcreate.php:305 actions/editgroup.php:260
+#: actions/newgroup.php:196
 msgid "Alias can't be the same as nickname."
 msgstr "别名不能和昵称相同。"
 
@@ -691,21 +729,21 @@ msgid "Request token already authorized."
 msgstr "你没有被授权。"
 
 #. TRANS: Form validation error in API OAuth authorisation because of an invalid session token.
-#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:270
-#: actions/deletenotice.php:172 actions/disfavor.php:74
+#: actions/apioauthauthorize.php:147 actions/avatarsettings.php:280
+#: actions/deletenotice.php:177 actions/disfavor.php:74
 #: actions/emailsettings.php:271 actions/favor.php:75 actions/geocode.php:55
 #: actions/groupblock.php:66 actions/grouplogo.php:312
-#: actions/groupunblock.php:66 actions/imsettings.php:230
+#: actions/groupunblock.php:65 actions/imsettings.php:230
 #: actions/invite.php:59 actions/login.php:137 actions/makeadmin.php:66
 #: actions/newmessage.php:135 actions/newnotice.php:105 actions/nudge.php:80
 #: actions/oauthappssettings.php:165 actions/oauthconnectionssettings.php:138
-#: actions/othersettings.php:145 actions/passwordsettings.php:138
+#: actions/othersettings.php:153 actions/passwordsettings.php:138
 #: actions/profilesettings.php:221 actions/recoverpassword.php:350
 #: actions/register.php:172 actions/remotesubscribe.php:77
-#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:38
+#: actions/repeat.php:83 actions/smssettings.php:256 actions/subedit.php:40
 #: actions/subscribe.php:86 actions/tagother.php:166
 #: actions/unsubscribe.php:69 actions/userauthorization.php:52
-#: lib/designsettings.php:294
+#: lib/designsettings.php:310
 msgid "There was a problem with your session token. Try again, please."
 msgstr "你的 session 出现了一个问题,请重试。"
 
@@ -721,17 +759,19 @@ msgid "Database error inserting oauth_token_association."
 msgstr "插入 OAuth 应用用户时数据库出错。"
 
 #. TRANS: Client error given on when invalid data was passed through a form in the OAuth API.
+#. TRANS: Unexpected validation error on avatar upload form.
 #. TRANS: Client error displayed submitting invalid form data for edit application.
 #. TRANS: Message given submitting a form with an unknown action in e-mail settings.
 #. TRANS: Message given submitting a form with an unknown action in IM settings.
 #. TRANS: Client error when submitting a form with unexpected information.
 #. TRANS: Message given submitting a form with an unknown action in SMS settings.
-#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:283
+#. TRANS: Unknown form validation error in design settings form.
+#: actions/apioauthauthorize.php:294 actions/avatarsettings.php:294
 #: actions/designadminpanel.php:104 actions/editapplication.php:144
 #: actions/emailsettings.php:290 actions/grouplogo.php:322
 #: actions/imsettings.php:245 actions/newapplication.php:125
 #: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
-#: actions/smssettings.php:277 lib/designsettings.php:304
+#: actions/smssettings.php:277 lib/designsettings.php:321
 msgid "Unexpected form submission."
 msgstr "未预料的表单提交。"
 
@@ -779,9 +819,10 @@ msgstr "帐号"
 
 #. TRANS: Field label on OAuth API authorisation form.
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group nickname (dt). Text hidden by default.
 #: actions/apioauthauthorize.php:459 actions/login.php:252
 #: actions/profilesettings.php:110 actions/register.php:433
-#: actions/showgroup.php:245 actions/tagother.php:94
+#: actions/showgroup.php:240 actions/tagother.php:94
 #: actions/userauthorization.php:145 lib/groupeditform.php:152
 #: lib/userprofile.php:132
 msgid "Nickname"
@@ -875,20 +916,21 @@ msgstr "你不能删除其他用户的消息。"
 
 #. TRANS: Client error displayed trying to repeat a non-existing notice through the API.
 #. TRANS: Client error displayed trying to display redents of a non-exiting notice.
+#. TRANS: Error message displayed trying to delete a non-existing notice.
 #: actions/apistatusesretweet.php:74 actions/apistatusesretweets.php:70
-#: actions/deletenotice.php:58 actions/shownotice.php:92
+#: actions/deletenotice.php:61 actions/shownotice.php:92
 msgid "No such notice."
 msgstr "没有这条消息。"
 
 #. TRANS: Client error displayed trying to repeat an own notice through the API.
 #. TRANS: Error text shown when trying to repeat an own notice.
-#: actions/apistatusesretweet.php:83 lib/command.php:535
+#: actions/apistatusesretweet.php:83 lib/command.php:537
 msgid "Cannot repeat your own notice."
 msgstr "不能转发你自己的消息。"
 
 #. TRANS: Client error displayed trying to re-repeat a notice through the API.
 #. TRANS: Error text shown when trying to repeat an notice that was already repeated by the user.
-#: actions/apistatusesretweet.php:92 lib/command.php:541
+#: actions/apistatusesretweet.php:92 lib/command.php:543
 msgid "Already repeated that notice."
 msgstr "已转发了该消息。"
 
@@ -909,7 +951,8 @@ msgstr "客户端必须提供一个包含内容的“状态”参数。"
 
 #. TRANS: Client error displayed when the parameter "status" is missing.
 #. TRANS: %d is the maximum number of character for a notice.
-#: actions/apistatusesupdate.php:244
+#: actions/apistatusesupdate.php:244 actions/newnotice.php:161
+#: lib/mailhandler.php:60
 #, fuzzy, php-format
 msgid "That's too long. Maximum notice size is %d character."
 msgid_plural "That's too long. Maximum notice size is %d characters."
@@ -923,7 +966,7 @@ msgstr "API方法没有找到。"
 
 #. TRANS: Client error displayed exceeding the maximum notice length.
 #. TRANS: %d is the maximum lenth for a notice.
-#: actions/apistatusesupdate.php:308
+#: actions/apistatusesupdate.php:308 actions/newnotice.php:184
 #, fuzzy, php-format
 msgid "Maximum notice size is %d character, including attachment URL."
 msgid_plural "Maximum notice size is %d characters, including attachment URL."
@@ -1027,104 +1070,139 @@ msgstr "API 方法尚未实现。"
 msgid "User not found."
 msgstr "API方法没有找到。"
 
+#. TRANS: Client error displayed trying to get a non-existing attachment.
 #: actions/attachment.php:73
 msgid "No such attachment."
 msgstr "没有这个附件。"
 
-#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
-#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#. TRANS: Client error displayed trying to get an avatar without providing a nickname.
+#. TRANS: Client error displayed when requesting a list of blocked users for a group without providing a group nickname.
+#. TRANS: Client error displayed trying to edit a group while not proving a nickname for the group to edit.
+#. TRANS: Client error displayed if no nickname argument was given requesting a group page.
+#: actions/avatarbynickname.php:60 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:85 actions/groupdesignsettings.php:84
 #: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:116
 msgid "No nickname."
 msgstr "没有昵称。"
 
-#: actions/avatarbynickname.php:64
+#. TRANS: Client error displayed trying to get an avatar without providing an avatar size.
+#: actions/avatarbynickname.php:66
 msgid "No size."
 msgstr "没有大小。"
 
-#: actions/avatarbynickname.php:69
+#. TRANS: Client error displayed trying to get an avatar providing an invalid avatar size.
+#: actions/avatarbynickname.php:72
 msgid "Invalid size."
 msgstr "大小不正确。"
 
+#. TRANS: Title for avatar upload page.
+#. TRANS: Label for group avatar (dt). Text hidden by default.
 #. TRANS: Link description in user account settings menu.
-#: actions/avatarsettings.php:67 actions/showgroup.php:230
+#: actions/avatarsettings.php:66 actions/showgroup.php:224
 #: lib/accountsettingsaction.php:113
 msgid "Avatar"
 msgstr "头像"
 
+#. TRANS: Instruction for avatar upload page.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
 #: actions/avatarsettings.php:78
 #, php-format
 msgid "You can upload your personal avatar. The maximum file size is %s."
 msgstr "你可以上传你的个人头像。文件大小限制在%s以下。"
 
-#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#. TRANS: Server error displayed in avatar upload page when no matching profile can be found for a user.
+#: actions/avatarsettings.php:108 actions/avatarsettings.php:192
 #: actions/grouplogo.php:181 actions/remotesubscribe.php:191
 #: actions/userauthorization.php:72 actions/userrss.php:108
 msgid "User without matching profile."
 msgstr "用户没有相应个人信息。"
 
-#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#. TRANS: Avatar upload page form legend.
+#. TRANS: Avatar upload page crop form legend.
+#: actions/avatarsettings.php:122 actions/avatarsettings.php:205
 #: actions/grouplogo.php:254
 msgid "Avatar settings"
 msgstr "头像设置"
 
-#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#. TRANS: Header on avatar upload page for thumbnail of originally uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of originally uploaded avatar (h2).
+#: actions/avatarsettings.php:131 actions/avatarsettings.php:214
 #: actions/grouplogo.php:202 actions/grouplogo.php:262
 msgid "Original"
 msgstr "原始"
 
-#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#. TRANS: Header on avatar upload page for thumbnail of to be used rendition of uploaded avatar (h2).
+#. TRANS: Header on avatar upload crop form for thumbnail of to be used rendition of uploaded avatar (h2).
+#: actions/avatarsettings.php:147 actions/avatarsettings.php:227
 #: actions/grouplogo.php:213 actions/grouplogo.php:274
 msgid "Preview"
 msgstr "预览"
 
-#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deletegroupform.php:121 lib/deleteuserform.php:66
-#: lib/noticelist.php:667
+#. TRANS: Button on avatar upload page to delete current avatar.
+#: actions/avatarsettings.php:155
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Delete"
 msgstr "删除"
 
-#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+#. TRANS: Button on avatar upload page to upload an avatar.
+#: actions/avatarsettings.php:173
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Upload"
 msgstr "上传"
 
-#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+#. TRANS: Button on avatar upload crop form to confirm a selected crop as avatar.
+#: actions/avatarsettings.php:243
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Crop"
 msgstr "剪裁"
 
-#: actions/avatarsettings.php:307
+#. TRANS: Validation error on avatar upload form when no file was uploaded.
+#: actions/avatarsettings.php:318
 msgid "No file uploaded."
 msgstr "没有文件被上传。"
 
-#: actions/avatarsettings.php:334
+#. TRANS: Avatar upload form unstruction after uploading a file.
+#: actions/avatarsettings.php:346
 msgid "Pick a square area of the image to be your avatar"
 msgstr "请选择一块方形区域作为你的头像"
 
-#: actions/avatarsettings.php:349 actions/grouplogo.php:380
+#. TRANS: Server error displayed if an avatar upload went wrong somehow server side.
+#: actions/avatarsettings.php:361 actions/grouplogo.php:380
 msgid "Lost our file data."
 msgstr "文件数据丢失"
 
-#: actions/avatarsettings.php:372
+#. TRANS: Success message for having updated a user avatar.
+#: actions/avatarsettings.php:385
 msgid "Avatar updated."
 msgstr "头像已更新。"
 
-#: actions/avatarsettings.php:375
+#. TRANS: Error displayed on the avatar upload page if the avatar could not be updated for an unknown reason.
+#: actions/avatarsettings.php:389
 msgid "Failed updating avatar."
 msgstr "更新头像失败。"
 
-#: actions/avatarsettings.php:399
+#. TRANS: Success message for deleting a user avatar.
+#: actions/avatarsettings.php:413
 msgid "Avatar deleted."
 msgstr "头像已删除。"
 
-#: actions/block.php:69
+#. TRANS: Client error displayed when blocking a user that has already been blocked.
+#: actions/block.php:68
 msgid "You already blocked that user."
 msgstr "你已经屏蔽该用户。"
 
-#: actions/block.php:107 actions/block.php:136 actions/groupblock.php:158
+#. TRANS: Title for block user page.
+#. TRANS: Legend for block user form.
+#: actions/block.php:106 actions/block.php:136 actions/groupblock.php:158
 msgid "Block user"
 msgstr "屏蔽用户。"
 
-#: actions/block.php:138
+#. TRANS: Explanation of consequences when blocking a user on the block user page.
+#: actions/block.php:139
 msgid ""
 "Are you sure you want to block this user? Afterwards, they will be "
 "unsubscribed from you, unable to subscribe to you in the future, and you "
@@ -1139,8 +1217,8 @@ msgstr ""
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:153 actions/deleteapplication.php:154
-#: actions/deletegroup.php:220 actions/deletenotice.php:150
+#: actions/block.php:154 actions/deleteapplication.php:157
+#: actions/deletegroup.php:220 actions/deletenotice.php:155
 #: actions/deleteuser.php:152 actions/groupblock.php:178
 msgctxt "BUTTON"
 msgid "No"
@@ -1148,7 +1226,7 @@ msgstr "否"
 
 #. TRANS: Submit button title for 'No' when blocking a user.
 #. TRANS: Submit button title for 'No' when deleting a user.
-#: actions/block.php:157 actions/deleteuser.php:156
+#: actions/block.php:158 actions/deleteuser.php:156
 msgid "Do not block this user"
 msgstr "不要屏蔽这个用户"
 
@@ -1158,8 +1236,8 @@ msgstr "不要屏蔽这个用户"
 #. TRANS: Button label on the delete notice form.
 #. TRANS: Button label on the delete user form.
 #. TRANS: Button label on the form to block a user from a group.
-#: actions/block.php:160 actions/deleteapplication.php:161
-#: actions/deletegroup.php:227 actions/deletenotice.php:157
+#: actions/block.php:161 actions/deleteapplication.php:164
+#: actions/deletegroup.php:227 actions/deletenotice.php:162
 #: actions/deleteuser.php:159 actions/groupblock.php:185
 msgctxt "BUTTON"
 msgid "Yes"
@@ -1167,140 +1245,170 @@ msgstr "是"
 
 #. TRANS: Submit button title for 'Yes' when blocking a user.
 #. TRANS: Description of the form to block a user.
-#: actions/block.php:164 lib/blockform.php:79
+#: actions/block.php:165 lib/blockform.php:79
 msgid "Block this user"
 msgstr "屏蔽这个用户"
 
-#: actions/block.php:187
+#. TRANS: Server error displayed when blocking a user fails.
+#: actions/block.php:189
 msgid "Failed to save block information."
 msgstr "保存屏蔽信息失败。"
 
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-local group.
+#. TRANS: Client error displayed when requesting a list of blocked users for a non-existing group.
 #. TRANS: Client error when trying to delete a non-local group.
 #. TRANS: Client error when trying to delete a non-existing group.
+#. TRANS: Client error displayed trying to edit a non-existing group.
+#. TRANS: Client error displayed when trying to unblock a user from a non-existing group.
+#. TRANS: Client error displayed if no remote group with a given name was found requesting group page.
+#. TRANS: Client error displayed if no local group with a given name was found requesting group page.
 #. TRANS: Command exception text shown when a group is requested that does not exist.
 #. TRANS: Error text shown when trying to leave a group that does not exist.
-#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/blockedfromgroup.php:81 actions/blockedfromgroup.php:89
 #: actions/deletegroup.php:87 actions/deletegroup.php:100
-#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/editgroup.php:102 actions/foafgroup.php:44 actions/foafgroup.php:62
 #: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
 #: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
 #: actions/groupmembers.php:83 actions/groupmembers.php:90
 #: actions/grouprss.php:98 actions/grouprss.php:105
-#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/groupunblock.php:88 actions/joingroup.php:82
 #: actions/joingroup.php:93 actions/leavegroup.php:82
 #: actions/leavegroup.php:93 actions/makeadmin.php:86
-#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:168
+#: actions/showgroup.php:134 actions/showgroup.php:143 lib/command.php:168
 #: lib/command.php:380
 msgid "No such group."
 msgstr "没有这个组。"
 
-#: actions/blockedfromgroup.php:97
+#. TRANS: Title for first page with list of users blocked from a group.
+#. TRANS: %s is a group nickname.
+#: actions/blockedfromgroup.php:101
 #, php-format
 msgid "%s blocked profiles"
 msgstr "%s屏蔽的用户"
 
-#: actions/blockedfromgroup.php:100
+#. TRANS: Title for any but the first page with list of users blocked from a group.
+#. TRANS: %1$s is a group nickname, %2$d is a page number.
+#: actions/blockedfromgroup.php:106
 #, php-format
 msgid "%1$s blocked profiles, page %2$d"
 msgstr "%1$s屏蔽的用户,第%2$d页"
 
-#: actions/blockedfromgroup.php:115
+#. TRANS: Instructions for list of users blocked from a group.
+#: actions/blockedfromgroup.php:122
 msgid "A list of the users blocked from joining this group."
 msgstr "被屏蔽加入此小组的用户列表。"
 
-#: actions/blockedfromgroup.php:288
+#. TRANS: Form legend for unblocking a user from a group.
+#: actions/blockedfromgroup.php:291
 msgid "Unblock user from group"
 msgstr "取消小组对用户的屏蔽。"
 
-#. TRANS: Title for the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:70
+#. TRANS: Button text for unblocking a user from a group.
+#: actions/blockedfromgroup.php:323
+#, fuzzy
+msgctxt "BUTTON"
 msgid "Unblock"
 msgstr "取消屏蔽"
 
+#. TRANS: Tooltip for button for unblocking a user from a group.
 #. TRANS: Description of the form to unblock a user.
-#: actions/blockedfromgroup.php:320 lib/unblockform.php:82
+#: actions/blockedfromgroup.php:327 lib/unblockform.php:78
 msgid "Unblock this user"
 msgstr "取消屏蔽这个用户。"
 
 #. TRANS: Title for mini-posting window loaded from bookmarklet.
+#. TRANS: %s is the StatusNet site name.
 #: actions/bookmarklet.php:51
 #, php-format
 msgid "Post to %s"
 msgstr "发布到 %s"
 
-#: actions/confirmaddress.php:75
+#. TRANS: Client error displayed when not providing a confirmation code in the contact address confirmation action.
+#: actions/confirmaddress.php:74
 msgid "No confirmation code."
 msgstr "没有确认码"
 
+#. TRANS: Client error displayed when providing a non-existing confirmation code in the contact address confirmation action.
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "未找到确认码。"
 
-#: actions/confirmaddress.php:85
+#. TRANS: Client error displayed when not providing a confirmation code for another user in the contact address confirmation action.
+#: actions/confirmaddress.php:86
 msgid "That confirmation code is not for you!"
 msgstr "此确认码不是你的!"
 
-#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
-#: actions/confirmaddress.php:91
+#. TRANS: Server error for a unknow address type %s, which can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "Unrecognized address type %s."
 msgstr "不可识别的地址类型%s。"
 
-#. TRANS: Client error for an already confirmed email/jabbel/sms address.
-#: actions/confirmaddress.php:96
+#. TRANS: Client error for an already confirmed email/jabber/sms address.
+#: actions/confirmaddress.php:97
 msgid "That address has already been confirmed."
 msgstr "此地址已被确认过了。"
 
+#. TRANS: Server error displayed when a user update to the database fails in the contact address confirmation action.
 #. TRANS: Server error thrown on database error updating e-mail preferences.
 #. TRANS: Server error thrown on database error removing a registered e-mail address.
 #. TRANS: Server error thrown on database error updating IM preferences.
 #. TRANS: Server error thrown on database error removing a registered IM address.
+#. TRANS: Server error displayed when "Other" settings in user profile could not be updated on the server.
 #. TRANS: Server error thrown when user profile settings could not be updated.
 #. TRANS: Server error thrown on database error updating SMS preferences.
 #. TRANS: Server error thrown on database error removing a registered SMS phone number.
-#: actions/confirmaddress.php:116 actions/emailsettings.php:331
+#: actions/confirmaddress.php:118 actions/emailsettings.php:331
 #: actions/emailsettings.php:477 actions/imsettings.php:283
-#: actions/imsettings.php:442 actions/othersettings.php:174
+#: actions/imsettings.php:442 actions/othersettings.php:184
 #: actions/profilesettings.php:326 actions/smssettings.php:308
 #: actions/smssettings.php:464
 msgid "Couldn't update user."
 msgstr "无法更新用户。"
 
-#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
-#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
-#: actions/confirmaddress.php:128 actions/emailsettings.php:437
-#: actions/smssettings.php:422
-msgid "Couldn't delete email confirmation."
-msgstr "无法删除电子邮件确认。"
+#. TRANS: Server error displayed when an address confirmation code deletion from the
+#. TRANS: database fails in the contact address confirmation action.
+#: actions/confirmaddress.php:132
+#, fuzzy
+msgid "Could not delete address confirmation."
+msgstr "无法删除 IM 确认。"
 
-#: actions/confirmaddress.php:146
+#. TRANS: Title for the contact address confirmation action.
+#: actions/confirmaddress.php:150
 msgid "Confirm address"
 msgstr "确认地址"
 
-#: actions/confirmaddress.php:161
+#. TRANS: Success message for the contact address confirmation action.
+#. TRANS: %s can be 'email', 'jabber', or 'sms'.
+#: actions/confirmaddress.php:166
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr "你账户的地址 \"%s\" 已被确认。"
 
-#: actions/conversation.php:99
+#. TRANS: Title for page with a conversion (multiple notices in context).
+#: actions/conversation.php:96
 msgid "Conversation"
 msgstr "对话"
 
-#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#. TRANS: Header on conversation page. Hidden by default (h2).
+#: actions/conversation.php:149 lib/mailbox.php:116 lib/noticelist.php:87
 #: lib/profileaction.php:229 lib/searchgroupnav.php:82
 msgid "Notices"
 msgstr "消息"
 
-#: actions/deleteapplication.php:63
+#. TRANS: Client error displayed trying to delete an application while not logged in.
+#: actions/deleteapplication.php:62
 msgid "You must be logged in to delete an application."
 msgstr "你必须登录后才能删除应用。"
 
+#. TRANS: Client error displayed trying to delete an application that does not exist.
 #: actions/deleteapplication.php:71
 msgid "Application not found."
 msgstr "未找到应用。"
 
+#. TRANS: Client error displayed trying to delete an application the current user does not own.
 #. TRANS: Client error displayed trying to edit an application while not being its owner.
-#: actions/deleteapplication.php:78 actions/editapplication.php:78
+#: actions/deleteapplication.php:79 actions/editapplication.php:78
 #: actions/showapplication.php:94
 msgid "You are not the owner of this application."
 msgstr "你不是该应用的拥有者。"
@@ -1308,15 +1416,18 @@ msgstr "你不是该应用的拥有者。"
 #. TRANS: Client error text when there is a problem with the session token.
 #: actions/deleteapplication.php:102 actions/editapplication.php:131
 #: actions/newapplication.php:114 actions/showapplication.php:118
-#: lib/action.php:1354
+#: lib/action.php:1404
 msgid "There was a problem with your session token."
 msgstr "你的 session token 出现了问题。"
 
-#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+#. TRANS: Title for delete application page.
+#. TRANS: Fieldset legend on delete application page.
+#: actions/deleteapplication.php:124 actions/deleteapplication.php:149
 msgid "Delete application"
 msgstr "删除应用"
 
-#: actions/deleteapplication.php:149
+#. TRANS: Confirmation text on delete application page.
+#: actions/deleteapplication.php:152
 msgid ""
 "Are you sure you want to delete this application? This will clear all data "
 "about the application from the database, including all existing user "
@@ -1326,12 +1437,12 @@ msgstr ""
 "用户关联。"
 
 #. TRANS: Submit button title for 'No' when deleting an application.
-#: actions/deleteapplication.php:158
+#: actions/deleteapplication.php:161
 msgid "Do not delete this application"
 msgstr "不删除该应用"
 
 #. TRANS: Submit button title for 'Yes' when deleting an application.
-#: actions/deleteapplication.php:164
+#: actions/deleteapplication.php:167
 msgid "Delete this application"
 msgstr "删除这个应用"
 
@@ -1367,13 +1478,14 @@ msgstr "无法更新小组"
 msgid "Deleted group %s"
 msgstr "%1$s离开了%2$s小组。"
 
-#. TRANS: Title.
+#. TRANS: Title of delete group page.
 #. TRANS: Form legend for deleting a group.
 #: actions/deletegroup.php:176 actions/deletegroup.php:202
 #, fuzzy
 msgid "Delete group"
 msgstr "删除用户"
 
+#. TRANS: Warning in form for deleleting a group.
 #: actions/deletegroup.php:206
 #, fuzzy
 msgid ""
@@ -1395,42 +1507,50 @@ msgstr "不要删除这个消息"
 msgid "Delete this group"
 msgstr "删除这个用户"
 
+#. TRANS: Error message displayed trying to delete a notice while not logged in.
+#. TRANS: Client error displayed when trying to unblock a user from a group while not logged in.
+#. TRANS: Client error displayed trying a change a subscription while not logged in.
 #. TRANS: Client error message thrown when trying to access the admin panel while not logged in.
-#: actions/deletenotice.php:50 actions/disfavor.php:61 actions/favor.php:62
-#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/deletenotice.php:52 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:60 actions/logout.php:69
 #: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:88
-#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/nudge.php:63 actions/subedit.php:33 actions/subscribe.php:96
 #: actions/tagother.php:33 actions/unsubscribe.php:52
 #: lib/adminpanelaction.php:71 lib/profileformaction.php:64
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "未登录。"
 
-#: actions/deletenotice.php:74
+#. TRANS: Error message displayed trying to delete a notice that was not made by the current user.
+#: actions/deletenotice.php:78
 msgid "Can't delete this notice."
 msgstr "无法删除这条消息。"
 
-#: actions/deletenotice.php:106
+#. TRANS: Instructions for deleting a notice.
+#: actions/deletenotice.php:110
 msgid ""
 "You are about to permanently delete a notice. Once this is done, it cannot "
 "be undone."
 msgstr "你即将永久删除一条消息,此操作无法撤销。"
 
-#: actions/deletenotice.php:112 actions/deletenotice.php:144
+#. TRANS: Page title when deleting a notice.
+#. TRANS: Fieldset legend for the delete notice form.
+#: actions/deletenotice.php:117 actions/deletenotice.php:148
 msgid "Delete notice"
 msgstr "删除消息"
 
-#: actions/deletenotice.php:147
+#. TRANS: Message for the delete notice form.
+#: actions/deletenotice.php:152
 msgid "Are you sure you want to delete this notice?"
 msgstr "你确定要删除这条消息吗?"
 
 #. TRANS: Submit button title for 'No' when deleting a notice.
-#: actions/deletenotice.php:154
+#: actions/deletenotice.php:159
 msgid "Do not delete this notice"
 msgstr "不要删除这个消息"
 
 #. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:161 lib/noticelist.php:667
+#: actions/deletenotice.php:166 lib/noticelist.php:667
 msgid "Delete this notice"
 msgstr "删除"
 
@@ -1515,12 +1635,14 @@ msgstr "自定义主题"
 msgid "You can upload a custom StatusNet theme as a .ZIP archive."
 msgstr "你可以上传一个 .ZIP 压缩文件作为一个自定义的 StatusNet 主题"
 
-#: actions/designadminpanel.php:512 lib/designsettings.php:101
+#. TRANS: Fieldset legend on profile design page.
+#: actions/designadminpanel.php:512 lib/designsettings.php:98
 msgid "Change background image"
 msgstr "更换背景图像"
 
+#. TRANS: Label on profile design page for setting a profile page background colour.
 #: actions/designadminpanel.php:517 actions/designadminpanel.php:600
-#: lib/designsettings.php:178
+#: lib/designsettings.php:183
 msgid "Background"
 msgstr "背景"
 
@@ -1532,40 +1654,48 @@ msgid ""
 msgstr "你可以为网站上传一个背景图像。文件大小限制在%1$s以下。"
 
 #. TRANS: Used as radio button label to add a background image.
-#: actions/designadminpanel.php:553 lib/designsettings.php:139
+#: actions/designadminpanel.php:553
 msgid "On"
 msgstr "打开"
 
 #. TRANS: Used as radio button label to not add a background image.
-#: actions/designadminpanel.php:570 lib/designsettings.php:155
+#: actions/designadminpanel.php:570
 msgid "Off"
 msgstr "关闭"
 
-#: actions/designadminpanel.php:571 lib/designsettings.php:156
+#. TRANS: Form guide for a set of radio buttons on the profile design page that will enable or disable
+#. TRANS: use of the uploaded profile image.
+#: actions/designadminpanel.php:571 lib/designsettings.php:159
 msgid "Turn background image on or off."
 msgstr "打开或关闭背景图片"
 
-#: actions/designadminpanel.php:576 lib/designsettings.php:161
+#. TRANS: Checkbox label on profile design page that will cause the profile image to be tiled.
+#: actions/designadminpanel.php:576 lib/designsettings.php:165
 msgid "Tile background image"
 msgstr "平铺背景图片"
 
-#: actions/designadminpanel.php:590 lib/designsettings.php:170
+#. TRANS: Fieldset legend on profile design page to change profile page colours.
+#: actions/designadminpanel.php:590 lib/designsettings.php:175
 msgid "Change colours"
 msgstr "改变颜色"
 
-#: actions/designadminpanel.php:613 lib/designsettings.php:191
+#. TRANS: Label on profile design page for setting a profile page content colour.
+#: actions/designadminpanel.php:613 lib/designsettings.php:197
 msgid "Content"
 msgstr "内容"
 
-#: actions/designadminpanel.php:626 lib/designsettings.php:204
+#. TRANS: Label on profile design page for setting a profile page sidebar colour.
+#: actions/designadminpanel.php:626 lib/designsettings.php:211
 msgid "Sidebar"
 msgstr "边栏"
 
-#: actions/designadminpanel.php:639 lib/designsettings.php:217
+#. TRANS: Label on profile design page for setting a profile page text colour.
+#: actions/designadminpanel.php:639 lib/designsettings.php:225
 msgid "Text"
 msgstr "文字"
 
-#: actions/designadminpanel.php:652 lib/designsettings.php:230
+#. TRANS: Label on profile design page for setting a profile page links colour.
+#: actions/designadminpanel.php:652 lib/designsettings.php:239
 msgid "Links"
 msgstr "链接"
 
@@ -1577,29 +1707,31 @@ msgstr "高级"
 msgid "Custom CSS"
 msgstr "自定义CSS"
 
-#: actions/designadminpanel.php:702 lib/designsettings.php:247
+#. TRANS: Button text on profile design page to immediately reset all colour settings to default.
+#: actions/designadminpanel.php:702 lib/designsettings.php:257
 msgid "Use defaults"
 msgstr "使用默认值"
 
-#: actions/designadminpanel.php:703 lib/designsettings.php:248
+#. TRANS: Title for button on profile design page to reset all colour settings to default.
+#: actions/designadminpanel.php:703 lib/designsettings.php:259
 msgid "Restore default designs"
 msgstr "恢复默认外观"
 
-#: actions/designadminpanel.php:709 lib/designsettings.php:254
+#. TRANS: Title for button on profile design page to reset all colour settings to default without saving.
+#: actions/designadminpanel.php:709 lib/designsettings.php:267
 msgid "Reset back to default"
 msgstr "重置到默认"
 
 #. TRANS: Submit button title.
 #: actions/designadminpanel.php:711 actions/licenseadminpanel.php:319
-#: actions/othersettings.php:126 actions/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:292 actions/sitenoticeadminpanel.php:195
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
 #: actions/snapshotadminpanel.php:245 actions/tagother.php:154
-#: actions/useradminpanel.php:295 lib/applicationeditform.php:357
-#: lib/designsettings.php:256 lib/groupeditform.php:202
+#: lib/applicationeditform.php:357
 msgid "Save"
 msgstr "保存"
 
-#: actions/designadminpanel.php:712 lib/designsettings.php:257
+#. TRANS: Title for button on profile design page to save settings.
+#: actions/designadminpanel.php:712 lib/designsettings.php:272
 msgid "Save design"
 msgstr "保存外观"
 
@@ -1643,9 +1775,9 @@ msgid "Name is required."
 msgstr "名字为必填项。"
 
 #. TRANS: Validation error shown when providing too long a name in the "Edit application" form.
-#: actions/editapplication.php:188
+#: actions/editapplication.php:188 actions/newapplication.php:169
 #, fuzzy
-msgid "Name is too long (max 255 characters)."
+msgid "Name is too long (maximum 255 characters)."
 msgstr "名称过长(不能超过255个字符)。"
 
 #. TRANS: Validation error shown when providing a name for an application that already exists in the "Edit application" form.
@@ -1674,7 +1806,7 @@ msgid "Organization is required."
 msgstr "组织名称必填。"
 
 #. TRANS: Validation error shown when providing too long an arganisation name in the "Edit application" form.
-#: actions/editapplication.php:223
+#: actions/editapplication.php:223 actions/newapplication.php:199
 #, fuzzy
 msgid "Organization is too long (maximum 255 characters)."
 msgstr "组织名称过长(不能超过255个字符)。"
@@ -1698,49 +1830,49 @@ msgstr "调回地址(Callback URL)无效。"
 msgid "Could not update application."
 msgstr "无法更新应用。"
 
-#: actions/editgroup.php:56
+#. TRANS: Title for form to edit a group. %s is a group nickname.
+#: actions/editgroup.php:55
 #, php-format
 msgid "Edit %s group"
 msgstr "编辑 %s 小组"
 
+#. TRANS: Client error displayed trying to edit a group while not logged in.
+#. TRANS: Client error displayed trying to create a group while not logged in.
 #: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
 msgid "You must be logged in to create a group."
 msgstr "你必须登录才能创建小组。"
 
-#: actions/editgroup.php:107 actions/editgroup.php:172
+#. TRANS: Client error displayed trying to edit a group while not being a group admin.
+#: actions/editgroup.php:110 actions/editgroup.php:176
 #: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
 msgid "You must be an admin to edit the group."
 msgstr "管理员才可以编辑小组。"
 
-#: actions/editgroup.php:158
+#. TRANS: Form instructions for group edit form.
+#: actions/editgroup.php:161
 msgid "Use this form to edit the group."
 msgstr "通过这个表单来编辑小组"
 
-#: actions/editgroup.php:205
-#, php-format
-msgid "Description is too long (max %d chars)."
-msgstr "描述过长(不能超过%d 个字符)。"
-
-#: actions/editgroup.php:219
-#, php-format
-msgid "Too many aliases! Maximum %d."
-msgstr "太多别名了!最多%d 个。"
-
-#: actions/editgroup.php:228 actions/newgroup.php:177
+#. TRANS: Group edit form validation error.
+#. TRANS: Group create form validation error.
+#: actions/editgroup.php:248 actions/newgroup.php:184
 #, php-format
 msgid "Invalid alias: \"%s\""
 msgstr "无效的别名:“%s”。"
 
-#: actions/editgroup.php:258
+#. TRANS: Server error displayed when editing a group fails.
+#: actions/editgroup.php:281
 msgid "Could not update group."
 msgstr "无法更新小组"
 
+#. TRANS: Server error displayed when group aliases could not be added.
 #. TRANS: Server exception thrown when creating group aliases failed.
-#: actions/editgroup.php:264 classes/User_group.php:513
+#: actions/editgroup.php:288 classes/User_group.php:529
 msgid "Could not create aliases."
 msgstr "无法创建别名。"
 
-#: actions/editgroup.php:280
+#. TRANS: Group edit form success message.
+#: actions/editgroup.php:305
 msgid "Options saved."
 msgstr "选项已保存。"
 
@@ -1931,6 +2063,12 @@ msgstr "没有可以取消的确认。"
 msgid "That is the wrong email address."
 msgstr "这是错误的电子邮件地址。"
 
+#. TRANS: Server error thrown on database error canceling e-mail address confirmation.
+#. TRANS: Server error thrown on database error canceling SMS phone number confirmation.
+#: actions/emailsettings.php:437 actions/smssettings.php:422
+msgid "Couldn't delete email confirmation."
+msgstr "无法删除电子邮件确认。"
+
 #. TRANS: Message given after successfully canceling e-mail address confirmation.
 #: actions/emailsettings.php:442
 msgid "Email confirmation cancelled."
@@ -2008,7 +2146,7 @@ msgid ""
 msgstr "现在就[注册一个账户](%%action.register%%)并成为第一个添加收藏的人!"
 
 #: actions/favoritesrss.php:111 actions/showfavorites.php:77
-#: lib/personalgroupnav.php:115
+#: lib/personalgroupnav.php:118
 #, php-format
 msgid "%s's favorite notices"
 msgstr "%s收藏的消息"
@@ -2105,19 +2243,23 @@ msgstr "你不能在这个网站授予用户权限。"
 msgid "User already has this role."
 msgstr "用户已有此权限。"
 
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing a profile.
+#. TRANS: Client error displayed trying a change a subscription without providing a profile.
 #: actions/groupblock.php:71 actions/groupunblock.php:71
-#: actions/makeadmin.php:71 actions/subedit.php:46
+#: actions/makeadmin.php:71 actions/subedit.php:49
 #: lib/profileformaction.php:79
 msgid "No profile specified."
 msgstr "没有指定的用户。"
 
-#: actions/groupblock.php:76 actions/groupunblock.php:76
-#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#. TRANS: Client error displayed when trying to unblock a user from a group without providing an existing profile.
+#. TRANS: Client error displayed trying a change a subscription for a non-existant profile ID.
+#: actions/groupblock.php:76 actions/groupunblock.php:77
+#: actions/makeadmin.php:76 actions/subedit.php:57 actions/tagother.php:46
 #: actions/unsubscribe.php:84 lib/profileformaction.php:86
 msgid "No profile with that ID."
 msgstr "此 ID 没有用户。"
 
-#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/groupblock.php:81 actions/groupunblock.php:82
 #: actions/makeadmin.php:81
 msgid "No group specified."
 msgstr "没有指定小组。"
@@ -2180,8 +2322,10 @@ msgid ""
 "palette of your choice."
 msgstr "通过背景图片和颜色板来自定义你的小组的外观。"
 
+#. TRANS: Error message displayed if design settings could not be saved.
+#. TRANS: Error message displayed if design settings could not be saved after clicking "Use defaults".
 #: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
-#: lib/designsettings.php:391 lib/designsettings.php:413
+#: lib/designsettings.php:405 lib/designsettings.php:427
 msgid "Couldn't update your design."
 msgstr "无法更新你的外观。"
 
@@ -2199,6 +2343,14 @@ msgid ""
 "You can upload a logo image for your group. The maximum file size is %s."
 msgstr "你可以给你的小组上传一个 logo。文件最大限制为%s。"
 
+#: actions/grouplogo.php:236
+msgid "Upload"
+msgstr "上传"
+
+#: actions/grouplogo.php:289
+msgid "Crop"
+msgstr "剪裁"
+
 #: actions/grouplogo.php:365
 msgid "Pick a square area of the image to be the logo."
 msgstr "请选择一块方形区域作为 logo。"
@@ -2338,15 +2490,18 @@ msgstr ""
 "现在就 [注册一个帐号](%%action.register%%) 并 [创建该小组](%%action.newgroup%"
 "%) !"
 
-#: actions/groupunblock.php:91
+#. TRANS: Client error displayed when trying to unblock a user from a group without being an administrator for the group.
+#: actions/groupunblock.php:94
 msgid "Only an admin can unblock group members."
 msgstr "只有管理员可以取消屏蔽小组成员。"
 
-#: actions/groupunblock.php:95
+#. TRANS: Client error displayed when trying to unblock a non-blocked user from a group.
+#: actions/groupunblock.php:99
 msgid "User is not blocked from group."
 msgstr "用户未被小组屏蔽。"
 
-#: actions/groupunblock.php:128 actions/unblock.php:86
+#. TRANS: Server error displayed when unblocking a user from a group fails because of an unknown error.
+#: actions/groupunblock.php:131 actions/unblock.php:86
 msgid "Error removing the block."
 msgstr "取消屏蔽时出错。"
 
@@ -2433,7 +2588,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "公开 Jabber/GTalk 帐号的 MicroID。"
 
 #. TRANS: Confirmation message for successful IM preferences save.
-#: actions/imsettings.php:290 actions/othersettings.php:180
+#: actions/imsettings.php:290 actions/othersettings.php:190
 msgid "Preferences saved."
 msgstr "首选项已保存。"
 
@@ -2553,10 +2708,9 @@ msgstr[0] "你已经关注了这些用户:"
 
 #. TRANS: Used as list item for already subscribed users (%1$s is nickname, %2$s is e-mail address).
 #. TRANS: Used as list item for already registered people (%1$s is nickname, %2$s is e-mail address).
-#. TRANS: Whois output.
-#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
-#: actions/invite.php:145 actions/invite.php:159 lib/command.php:426
-#, php-format
+#: actions/invite.php:145 actions/invite.php:159
+#, fuzzy, php-format
+msgctxt "INVITE"
 msgid "%1$s (%2$s)"
 msgstr "%1$s (%2$s)"
 
@@ -2729,7 +2883,8 @@ msgid ""
 msgstr "当使用版权所有的许可协议时,你必须指定内容的所有者。"
 
 #: actions/licenseadminpanel.php:156
-msgid "Invalid license title. Max length is 255 characters."
+#, fuzzy
+msgid "Invalid license title. Maximum length is 255 characters."
 msgstr "无效的许可协议标题。最大长度255个字符。"
 
 #: actions/licenseadminpanel.php:168
@@ -2898,28 +3053,20 @@ msgstr "你必须登录才能登记你的应用。"
 msgid "Use this form to register a new application."
 msgstr "通过此表单登记一个新的应用。"
 
-#: actions/newapplication.php:169
-#, fuzzy
-msgid "Name is too long (maximum 255 chars)."
-msgstr "名称过长(不能超过255个字符)。"
-
 #: actions/newapplication.php:184
 msgid "Source URL is required."
 msgstr "Source URL 必填。"
 
-#: actions/newapplication.php:199
-#, fuzzy
-msgid "Organization is too long (maximum 255 chars)."
-msgstr "组织名称过长(不能超过255个字符)。"
-
 #: actions/newapplication.php:266 actions/newapplication.php:275
 msgid "Could not create application."
 msgstr "无法创建应用。"
 
+#. TRANS: Title for form to create a group.
 #: actions/newgroup.php:53
 msgid "New group"
 msgstr "新小组"
 
+#. TRANS: Form instructions for group create form.
 #: actions/newgroup.php:110
 msgid "Use this form to create a new group."
 msgstr "通过此表单创建小组。"
@@ -2929,14 +3076,14 @@ msgid "New message"
 msgstr "新消息"
 
 #. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
-#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:499
+#: actions/newmessage.php:121 actions/newmessage.php:164 lib/command.php:501
 msgid "You can't send a message to this user."
 msgstr "无法向此用户发送消息。"
 
 #. TRANS: Command exception text shown when trying to send a direct message to another user without content.
 #. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
 #: actions/newmessage.php:144 actions/newnotice.php:140 lib/command.php:478
-#: lib/command.php:579
+#: lib/command.php:581
 msgid "No content!"
 msgstr "没有内容!"
 
@@ -2945,7 +3092,7 @@ msgid "No recipient specified."
 msgstr "没有收件人。"
 
 #. TRANS: Error text shown when trying to send a direct message to self.
-#: actions/newmessage.php:167 lib/command.php:503
+#: actions/newmessage.php:167 lib/command.php:505
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr "不要向自己发送消息;跟自己悄悄说就得了。"
@@ -2956,12 +3103,12 @@ msgstr "消息已发送"
 
 #. TRANS: Message given have sent a direct message to another user.
 #. TRANS: %s is the name of the other user.
-#: actions/newmessage.php:188 lib/command.php:511
+#: actions/newmessage.php:188 lib/command.php:513
 #, php-format
 msgid "Direct message to %s sent."
 msgstr "向%s发送私信成功。"
 
-#: actions/newmessage.php:213 actions/newnotice.php:263
+#: actions/newmessage.php:213 actions/newnotice.php:264
 msgid "Ajax Error"
 msgstr "Ajax错误"
 
@@ -2969,17 +3116,7 @@ msgstr "Ajax错误"
 msgid "New notice"
 msgstr "新消息"
 
-#: actions/newnotice.php:159 lib/mailhandler.php:60
-#, php-format
-msgid "That's too long. Max notice size is %d chars."
-msgstr "太长了。最长的消息长度是%d个字符。"
-
-#: actions/newnotice.php:183
-#, php-format
-msgid "Max notice size is %d chars, including attachment URL."
-msgstr "每条消息最长%d字符,包括附件的链接 URL。"
-
-#: actions/newnotice.php:229
+#: actions/newnotice.php:230
 msgid "Notice posted"
 msgstr "消息已发布。"
 
@@ -3116,25 +3253,25 @@ msgstr ""
 msgid "Notice has no profile."
 msgstr "消息没有对应用户。"
 
-#: actions/oembed.php:87 actions/shownotice.php:176
+#: actions/oembed.php:83 actions/shownotice.php:172
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "%1$s在%2$s时发的消息"
 
 #. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
-#: actions/oembed.php:159
+#: actions/oembed.php:155
 #, php-format
 msgid "Content type %s not supported."
 msgstr "%s内容类型不被支持。"
 
 #. TRANS: Error message displaying attachments. %s is the site's base URL.
-#: actions/oembed.php:163
+#: actions/oembed.php:159
 #, php-format
 msgid "Only %s URLs over plain HTTP please."
 msgstr "请只用HTTP明文的%sURLs的地址。"
 
 #. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1200
+#: actions/oembed.php:180 actions/oembed.php:199 lib/apiaction.php:1200
 #: lib/apiaction.php:1227 lib/apiaction.php:1356
 msgid "Not a supported data format."
 msgstr "不支持的数据格式。"
@@ -3147,36 +3284,46 @@ msgstr "搜索用户"
 msgid "Notice Search"
 msgstr "搜索消息"
 
-#: actions/othersettings.php:60
+#: actions/othersettings.php:59
 msgid "Other settings"
 msgstr "其他设置"
 
+#. TRANS: Instructions for tab "Other" in user profile settings.
 #: actions/othersettings.php:71
 msgid "Manage various other options."
 msgstr "管理其他选项。"
 
-#: actions/othersettings.php:108
+#. TRANS: Used as a suffix for free URL shorteners in a dropdown list in the tab "Other" of a
+#. TRANS: user's profile settings. This message has one space at the beginning. Use your
+#. TRANS: language's word separator here if it has one (most likely a single space).
+#: actions/othersettings.php:111
 msgid " (free service)"
 msgstr "(免费服务)"
 
-#: actions/othersettings.php:116
+#. TRANS: Label for dropdown with URL shortener services.
+#: actions/othersettings.php:120
 msgid "Shorten URLs with"
 msgstr "缩短 URL 使用"
 
-#: actions/othersettings.php:117
+#. TRANS: Tooltip for for dropdown with URL shortener services.
+#: actions/othersettings.php:122
 msgid "Automatic shortening service to use."
 msgstr "要使用的自动短网址服务。"
 
-#: actions/othersettings.php:122
+#. TRANS: Label for checkbox.
+#: actions/othersettings.php:128
 msgid "View profile designs"
 msgstr "查看个人页面外观"
 
-#: actions/othersettings.php:123
+#. TRANS: Tooltip for checkbox.
+#: actions/othersettings.php:130
 msgid "Show or hide profile designs."
 msgstr "显示或隐藏个人页面外观。"
 
-#: actions/othersettings.php:153
-msgid "URL shortening service is too long (max 50 chars)."
+#. TRANS: Form validation error for form "Other settings" in user profile.
+#: actions/othersettings.php:162
+#, fuzzy
+msgid "URL shortening service is too long (maximum 50 characters)."
 msgstr "短网址服务过长(不能超过50个字符)。"
 
 #: actions/otp.php:69
@@ -3617,8 +3764,9 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces."
 msgstr "1 到 64 个小写字母或数字,不包含标点或空格"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for full group name (dt). Text hidden by default.
 #: actions/profilesettings.php:117 actions/register.php:457
-#: actions/showgroup.php:256 actions/tagother.php:104
+#: actions/showgroup.php:252 actions/tagother.php:104
 #: lib/groupeditform.php:157 lib/userprofile.php:150
 msgid "Full name"
 msgstr "全名"
@@ -3657,9 +3805,10 @@ msgid "Bio"
 msgstr "自述"
 
 #. TRANS: Field label in form for profile settings.
+#. TRANS: Label for group location (dt). Text hidden by default.
 #: actions/profilesettings.php:149 actions/register.php:485
-#: actions/showgroup.php:265 actions/tagother.php:112
-#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: actions/showgroup.php:262 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:180
 #: lib/userprofile.php:165
 msgid "Location"
 msgstr "位置"
@@ -3984,7 +4133,8 @@ msgid "Unexpected password reset."
 msgstr "未预料的密码重置。"
 
 #: actions/recoverpassword.php:365
-msgid "Password must be 6 chars or more."
+#, fuzzy
+msgid "Password must be 6 characters or more."
 msgstr "密码必须是 6 个字符或更多。"
 
 #: actions/recoverpassword.php:369
@@ -4217,7 +4367,7 @@ msgid "Repeated!"
 msgstr "已转发!"
 
 #: actions/replies.php:126 actions/repliesrss.php:68
-#: lib/personalgroupnav.php:105
+#: lib/personalgroupnav.php:108
 #, php-format
 msgid "Replies to %s"
 msgstr "对 %s 的回复"
@@ -4347,11 +4497,12 @@ msgstr "组织名称必填。"
 
 #. TRANS: Form input field label.
 #: actions/showapplication.php:187 actions/version.php:200
-#: lib/applicationeditform.php:208 lib/groupeditform.php:172
+#: lib/applicationeditform.php:208 lib/groupeditform.php:175
 msgid "Description"
 msgstr "描述"
 
-#: actions/showapplication.php:192 actions/showgroup.php:442
+#. TRANS: Header for group statistics on a group page (h2).
+#: actions/showapplication.php:192 actions/showgroup.php:448
 #: lib/profileaction.php:187
 msgid "Statistics"
 msgstr "统计"
@@ -4369,6 +4520,11 @@ msgstr "应用程序动作"
 msgid "Reset key & secret"
 msgstr "重置key和secret"
 
+#: actions/showapplication.php:252 lib/deletegroupform.php:121
+#: lib/deleteuserform.php:66 lib/noticelist.php:667
+msgid "Delete"
+msgstr "删除"
+
 #: actions/showapplication.php:261
 msgid "Application info"
 msgstr "应用程序信息"
@@ -4456,77 +4612,106 @@ msgstr ""
 msgid "This is a way to share what you like."
 msgstr "这是一种分享你喜欢的内容的方式。"
 
-#: actions/showgroup.php:82
+#. TRANS: Page title for first group page. %s is a group name.
+#: actions/showgroup.php:75
 #, php-format
 msgid "%s group"
 msgstr "%s 小组"
 
-#: actions/showgroup.php:84
+#. TRANS: Page title for any but first group page.
+#. TRANS: %1$s is a group name, $2$s is a page number.
+#: actions/showgroup.php:79
 #, php-format
 msgid "%1$s group, page %2$d"
 msgstr "%1$s小组,第%2$d页"
 
-#: actions/showgroup.php:227
+#. TRANS: Group profile header (h2). Text hidden by default.
+#: actions/showgroup.php:220
 msgid "Group profile"
 msgstr "小组资料"
 
-#: actions/showgroup.php:272 actions/tagother.php:118
+#. TRANS: Label for group URL (dt). Text hidden by default.
+#: actions/showgroup.php:270 actions/tagother.php:118
 #: actions/userauthorization.php:175 lib/userprofile.php:178
 msgid "URL"
 msgstr "URL 互联网地址"
 
-#: actions/showgroup.php:283 actions/tagother.php:128
+#. TRANS: Label for group description or group note (dt). Text hidden by default.
+#: actions/showgroup.php:282 actions/tagother.php:128
 #: actions/userauthorization.php:187 lib/userprofile.php:195
 msgid "Note"
 msgstr "注释"
 
-#: actions/showgroup.php:293 lib/groupeditform.php:184
+#. TRANS: Label for group aliases (dt). Text hidden by default.
+#: actions/showgroup.php:293 lib/groupeditform.php:187
 msgid "Aliases"
 msgstr "别名"
 
-#: actions/showgroup.php:302
+#. TRANS: Group actions header (h2). Text hidden by default.
+#: actions/showgroup.php:304
 msgid "Group actions"
 msgstr "小组动作"
 
-#: actions/showgroup.php:344
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:345
 #, php-format
 msgid "Notice feed for %s group (RSS 1.0)"
 msgstr "%s小组的消息聚合 (RSS 1.0)"
 
-#: actions/showgroup.php:350
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:352
 #, php-format
 msgid "Notice feed for %s group (RSS 2.0)"
 msgstr "%s小组的消息聚合 (RSS 2.0)"
 
-#: actions/showgroup.php:356
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:359
 #, php-format
 msgid "Notice feed for %s group (Atom)"
 msgstr "%s小组的消息聚合 (Atom)"
 
-#: actions/showgroup.php:361
+#. TRANS: Tooltip for feed link. %s is a group nickname.
+#: actions/showgroup.php:365
 #, php-format
 msgid "FOAF for %s group"
 msgstr "%s 的发件箱"
 
-#: actions/showgroup.php:399 actions/showgroup.php:451
+#. TRANS: Header for mini list of group members on a group page (h2).
+#: actions/showgroup.php:402
 msgid "Members"
 msgstr "小组成员"
 
-#: actions/showgroup.php:404 lib/profileaction.php:117
+#. TRANS: Description for mini list of group members on a group page when the group has no members.
+#: actions/showgroup.php:408 lib/profileaction.php:117
 #: lib/profileaction.php:152 lib/profileaction.php:255 lib/section.php:95
 #: lib/subscriptionlist.php:127 lib/tagcloudsection.php:71
 msgid "(None)"
 msgstr "(无)"
 
-#: actions/showgroup.php:410
+#. TRANS: Link to all group members from mini list of group members if group has more than n members.
+#: actions/showgroup.php:417
 msgid "All members"
 msgstr "所有成员"
 
-#: actions/showgroup.php:445
+#. TRANS: Label for creation date in statistics on group page.
+#: actions/showgroup.php:453
+#, fuzzy
+msgctxt "LABEL"
 msgid "Created"
 msgstr "建立"
 
+#. TRANS: Label for member count in statistics on group page.
 #: actions/showgroup.php:461
+#, fuzzy
+msgctxt "LABEL"
+msgid "Members"
+msgstr "小组成员"
+
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: %%%%action.register%%%% is the URL for registration, %%%%doc.help%%%% is a URL to help.
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:476
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4541,7 +4726,10 @@ msgstr ""
 "入](%%%%action.register%%%%)成为该小组的一员并享受更多的欢乐!([阅读更多](%%"
 "%%doc.help%%%%))"
 
-#: actions/showgroup.php:467
+#. TRANS: Notice on group pages for anonymous users for StatusNet sites that accept no new registrations.
+#. TRANS: **%s** is the group alias, %%%%site.name%%%% is the site name,
+#. TRANS: This message contains Markdown links. Ensure they are formatted correctly: [Description](link).
+#: actions/showgroup.php:486
 #, php-format
 msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4554,24 +4742,31 @@ msgstr ""
 "E5%BE%AE%E5%8D%9A%E5%AE%A2)。%%%%site.name%%%%的用户分享关于他们生活和各种兴"
 "趣的消息。"
 
-#: actions/showgroup.php:495
+#. TRANS: Header for list of group administrators on a group page (h2).
+#: actions/showgroup.php:515
 msgid "Admins"
 msgstr "管理员"
 
-#: actions/showmessage.php:81
+#. TRANS: Client error displayed requesting a single message that does not exist.
+#: actions/showmessage.php:79
 msgid "No such message."
 msgstr "未找到此消息。"
 
-#: actions/showmessage.php:98
+#. TRANS: Client error displayed requesting a single direct message the requesting user was not a party in.
+#: actions/showmessage.php:97
 msgid "Only the sender and recipient may read this message."
 msgstr "只有发送和接受双方可以阅读此消息。"
 
-#: actions/showmessage.php:108
+#. TRANS: Page title for single direct message display when viewing user is the sender.
+#. TRANS: %1$s is the addressed user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:110
 #, php-format
 msgid "Message to %1$s on %2$s"
 msgstr "发送给 %1$s 的 %2$s 消息"
 
-#: actions/showmessage.php:113
+#. TRANS: Page title for single message display.
+#. TRANS: %1$s is the sending user's nickname, $2$s is a timestamp.
+#: actions/showmessage.php:118
 #, php-format
 msgid "Message from %1$s on %2$s"
 msgstr "来自 %1$s 的 %2$s 消息"
@@ -4580,53 +4775,75 @@ msgstr "来自 %1$s 的 %2$s 消息"
 msgid "Notice deleted."
 msgstr "消息已删除"
 
-#: actions/showstream.php:72
-#, php-format
-msgid " tagged %s"
-msgstr "带%s标签的"
+#. TRANS: Page title showing tagged notices in one user's stream. %1$s is the username, %2$s is the hash tag.
+#: actions/showstream.php:70
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s"
+msgstr "%1$s,第%2$d页"
+
+#. TRANS: Page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$s is the hash tag, %1$d is the page number.
+#: actions/showstream.php:74
+#, fuzzy, php-format
+msgid "%1$s tagged %2$s, page %3$d"
+msgstr "带%1$s标签的消息,第%2$d页"
 
-#: actions/showstream.php:78
+#. TRANS: Extended page title showing tagged notices in one user's stream.
+#. TRANS: %1$s is the username, %2$d is the page number.
+#: actions/showstream.php:82
 #, php-format
 msgid "%1$s, page %2$d"
 msgstr "%1$s,第%2$d页"
 
-#: actions/showstream.php:120
+#. TRANS: Title for link to notice feed.
+#. TRANS: %1$s is a user nickname, %2$s is a hashtag.
+#: actions/showstream.php:127
 #, php-format
 msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
 msgstr "%1$s的有%2$s标签的消息聚合 (RSS 1.0)"
 
-#: actions/showstream.php:127
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:136
 #, php-format
 msgid "Notice feed for %s (RSS 1.0)"
 msgstr "%s的消息聚合 (RSS 1.0)"
 
-#: actions/showstream.php:134
+#. TRANS: Title for link to notice feed.
+#. TRANS: %s is a user nickname.
+#: actions/showstream.php:145
 #, php-format
 msgid "Notice feed for %s (RSS 2.0)"
 msgstr "%s的消息聚合 (RSS 2.0)"
 
-#: actions/showstream.php:141
+#: actions/showstream.php:152
 #, php-format
 msgid "Notice feed for %s (Atom)"
 msgstr "%s的消息聚合 (Atom)"
 
-#: actions/showstream.php:146
+#. TRANS: Title for link to notice feed. FOAF stands for Friend of a Friend.
+#. TRANS: More information at http://www.foaf-project.org. %s is a user nickname.
+#: actions/showstream.php:159
 #, php-format
 msgid "FOAF for %s"
 msgstr "%s的FOAF"
 
-#: actions/showstream.php:197
-#, php-format
-msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+#. TRANS: First sentence of empty list message for a stream. $1%s is a user nickname.
+#: actions/showstream.php:211
+#, fuzzy, php-format
+msgid "This is the timeline for %1$s, but %1$s hasn't posted anything yet."
 msgstr "这是%1$s的时间线,但是%2$s还没有发布任何内容。"
 
-#: actions/showstream.php:202
+#. TRANS: Second sentence of empty list message for a stream for the user themselves.
+#: actions/showstream.php:217
 msgid ""
 "Seen anything interesting recently? You haven't posted any notices yet, now "
 "would be a good time to start :)"
 msgstr "最近看到了什么有趣的消息了么?你还没有发布消息呢,现在开始吧 :)"
 
-#: actions/showstream.php:204
+#. TRANS: Second sentence of empty  list message for a non-self stream. %1$s is a user nickname, %2$s is a part of a URL.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:221
 #, php-format
 msgid ""
 "You can try to nudge %1$s or [post something to them](%%%%action.newnotice%%%"
@@ -4635,7 +4852,9 @@ msgstr ""
 "你可以试着呼叫%1$s或给他们 [发一些消息](%%%%action.newnotice%%%%?"
 "status_textarea=%2$s)。"
 
-#: actions/showstream.php:243
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are open.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:264
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4648,7 +4867,9 @@ msgstr ""
 "E5%BE%AE%E5%8D%9A%E5%AE%A2)服务。[现在加入](%%%%action.register%%%%)并关注**%"
 "s**的消息和享受更多乐趣! ([阅读更多](%%%%doc.help%%%%))"
 
-#: actions/showstream.php:248
+#. TRANS: Announcement for anonymous users showing a stream if site registrations are closed or invite only.
+#. TRANS: This message contains a Markdown link. Keep "](" together.
+#: actions/showstream.php:271
 #, php-format
 msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -4659,7 +4880,8 @@ msgstr ""
 "[StatusNet](http://status.net/)的[微博客](http://zh.wikipedia.org/zh-hans/%"
 "E5%BE%AE%E5%8D%9A%E5%AE%A2)。"
 
-#: actions/showstream.php:305
+#. TRANS: Link to the author of a repeated notice. %s is a linked nickname.
+#: actions/showstream.php:328
 #, php-format
 msgid "Repeat of %s"
 msgstr "%s 的转发"
@@ -4769,31 +4991,40 @@ msgstr "防刷新限制"
 msgid "How long users must wait (in seconds) to post the same thing again."
 msgstr "用户再次发布相同内容时需要等待的时间(秒)。"
 
-#: actions/sitenoticeadminpanel.php:56
+#. TRANS: Page title for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:55
 msgid "Site Notice"
 msgstr "网站公告"
 
-#: actions/sitenoticeadminpanel.php:67
+#. TRANS: Instructions for site-wide notice tab in admin panel.
+#: actions/sitenoticeadminpanel.php:66
 msgid "Edit site-wide message"
 msgstr "编辑整个网站的公告"
 
-#: actions/sitenoticeadminpanel.php:103
+#. TRANS: Server error displayed when saving a site-wide notice was impossible.
+#: actions/sitenoticeadminpanel.php:101
 msgid "Unable to save site notice."
 msgstr "无法保存网站公告。"
 
-#: actions/sitenoticeadminpanel.php:113
-msgid "Max length for the site-wide notice is 255 chars."
+#. TRANS: Client error displayed when a site-wide notice was longer than allowed.
+#: actions/sitenoticeadminpanel.php:112
+#, fuzzy
+msgid "Maximum length for the site-wide notice is 255 characters."
 msgstr "整个网站的公告最长限制为255字符。"
 
+#. TRANS: Label for site-wide notice text field in admin panel.
 #: actions/sitenoticeadminpanel.php:176
 msgid "Site notice text"
 msgstr "网站公告文字"
 
-#: actions/sitenoticeadminpanel.php:178
-msgid "Site-wide notice text (255 chars max; HTML okay)"
+#. TRANS: Tooltip for site-wide notice text field in admin panel.
+#: actions/sitenoticeadminpanel.php:179
+#, fuzzy
+msgid "Site-wide notice text (255 characters maximum; HTML allowed)"
 msgstr "整个网站的公告文字(最长255字符;可使用HTML)"
 
-#: actions/sitenoticeadminpanel.php:198
+#. TRANS: Title for button to save site notice in admin panel.
+#: actions/sitenoticeadminpanel.php:201
 msgid "Save site notice"
 msgstr "保存网站公告"
 
@@ -5005,12 +5236,14 @@ msgstr "快照将被发送到这个 URL"
 msgid "Save snapshot settings"
 msgstr "保存访问设置"
 
-#: actions/subedit.php:70
+#. TRANS: Client error displayed trying a change a subscription for a non-subscribed profile.
+#: actions/subedit.php:75
 msgid "You are not subscribed to that profile."
 msgstr "你没有关注这个用户"
 
+#. TRANS: Server error displayed when updating a subscription fails with a database error.
 #. TRANS: Exception thrown when a subscription could not be stored on the server.
-#: actions/subedit.php:83 classes/Subscription.php:136
+#: actions/subedit.php:89 classes/Subscription.php:136
 msgid "Could not save subscription."
 msgstr "无法保存关注。"
 
@@ -5243,75 +5476,93 @@ msgid ""
 msgstr "Listenee stream 许可证“‘%1$s” 与本网站的许可证 “%2$s”不兼容。"
 
 #. TRANS: User admin panel title
-#: actions/useradminpanel.php:60
+#: actions/useradminpanel.php:58
 msgctxt "TITLE"
 msgid "User"
 msgstr "用户"
 
-#: actions/useradminpanel.php:71
+#. TRANS: Instruction for user admin panel.
+#: actions/useradminpanel.php:69
 msgid "User settings for this StatusNet site"
 msgstr "这个 StatusNet 网站的用户设置"
 
-#: actions/useradminpanel.php:150
+#. TRANS: Form validation error in user admin panel when a non-numeric character limit was set.
+#: actions/useradminpanel.php:147
 msgid "Invalid bio limit. Must be numeric."
 msgstr "无效的自述限制,必须为数字。"
 
-#: actions/useradminpanel.php:156
-msgid "Invalid welcome text. Max length is 255 characters."
+#. TRANS: Form validation error in user admin panel when welcome text is too long.
+#: actions/useradminpanel.php:154
+#, fuzzy
+msgid "Invalid welcome text. Maximum length is 255 characters."
 msgstr "无效的欢迎文字。最大长度255个字符。"
 
+#. TRANS: Client error displayed when trying to set a non-existing user as default subscription for new
+#. TRANS: users in user admin panel. %1$s is the invalid nickname.
 #: actions/useradminpanel.php:166
-#, php-format
-msgid "Invalid default subscripton: '%1$s' is not user."
+#, fuzzy, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
 msgstr "无效的默认关注:“%1$s”不是一个用户。"
 
 #. TRANS: Link description in user account settings menu.
-#: actions/useradminpanel.php:219 lib/accountsettingsaction.php:106
-#: lib/personalgroupnav.php:109
+#: actions/useradminpanel.php:215 lib/accountsettingsaction.php:106
+#: lib/personalgroupnav.php:112
 msgid "Profile"
 msgstr "个人信息"
 
-#: actions/useradminpanel.php:223
+#. TRANS: Field label in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:220
 msgid "Bio Limit"
 msgstr "自述限制"
 
-#: actions/useradminpanel.php:224
+#. TRANS: Tooltip in user admin panel for setting the character limit for the bio field.
+#: actions/useradminpanel.php:222
 msgid "Maximum length of a profile bio in characters."
 msgstr "个人资料自述最长的字符数。"
 
-#: actions/useradminpanel.php:232
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:231
 msgid "New users"
 msgstr "新用户"
 
+#. TRANS: Field label in user admin panel for setting new user welcome text.
 #: actions/useradminpanel.php:236
 msgid "New user welcome"
 msgstr "新用户欢迎"
 
-#: actions/useradminpanel.php:237
-msgid "Welcome text for new users (Max 255 chars)."
+#. TRANS: Tooltip in user admin panel for setting new user welcome text.
+#: actions/useradminpanel.php:238
+#, fuzzy
+msgid "Welcome text for new users (maximum 255 characters)."
 msgstr "给新用户的欢迎文字(不能超过255个字符)。"
 
-#: actions/useradminpanel.php:242
+#. TRANS: Field label in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:244
 msgid "Default subscription"
 msgstr "默认关注"
 
-#: actions/useradminpanel.php:243
+#. TRANS: Tooltip in user admin panel for setting default subscription for new users.
+#: actions/useradminpanel.php:246
 msgid "Automatically subscribe new users to this user."
 msgstr "自动关注所有关注我的人 (这个选项适合机器人)"
 
-#: actions/useradminpanel.php:252
+#. TRANS: Form legend in user admin panel.
+#: actions/useradminpanel.php:256
 msgid "Invitations"
 msgstr "邀请"
 
-#: actions/useradminpanel.php:257
+#. TRANS: Field label for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:262
 msgid "Invitations enabled"
 msgstr "邀请已启用"
 
-#: actions/useradminpanel.php:259
+#. TRANS: Tooltip for checkbox in user admin panel for allowing users to invite friend using site e-mail.
+#: actions/useradminpanel.php:265
 msgid "Whether to allow users to invite new users."
 msgstr "是否允许用户发送注册邀请。"
 
-#: actions/useradminpanel.php:295
+#. TRANS: Title for button to save user settings in user admin panel.
+#: actions/useradminpanel.php:302
 msgid "Save user settings"
 msgstr "保存用户设置"
 
@@ -5414,11 +5665,13 @@ msgstr "无法读取头像 URL '%s'。"
 msgid "Wrong image type for avatar URL ‘%s’."
 msgstr "头像 URL ‘%s’ 图像格式错误。"
 
-#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+#. TRANS: Page title for profile design page.
+#: actions/userdesignsettings.php:76 lib/designsettings.php:63
 msgid "Profile design"
 msgstr "个人页面外观"
 
-#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+#. TRANS: Instructions for profile design page.
+#: actions/userdesignsettings.php:87 lib/designsettings.php:74
 msgid ""
 "Customize the way your profile looks with a background image and a colour "
 "palette of your choice."
@@ -5508,7 +5761,7 @@ msgid "Plugins"
 msgstr "插件"
 
 #. TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
-#: actions/version.php:198 lib/action.php:831
+#: actions/version.php:198 lib/action.php:880
 msgid "Version"
 msgstr "版本"
 
@@ -5541,30 +5794,36 @@ msgstr "麦子认为卖烧麦是份很令人愉快的工作。"
 
 #. TRANS: Message given if an upload is larger than the configured maximum.
 #. TRANS: %1$d is the byte limit for uploads, %2$d is the byte count for the uploaded file.
-#: classes/File.php:189
-#, php-format
+#. TRANS: %1$s is used for plural.
+#: classes/File.php:190
+#, fuzzy, php-format
 msgid ""
+"No file may be larger than %1$d byte and the file you sent was %2$d bytes. "
+"Try to upload a smaller version."
+msgid_plural ""
 "No file may be larger than %1$d bytes and the file you sent was %2$d bytes. "
 "Try to upload a smaller version."
-msgstr ""
+msgstr[0] ""
 "不能有文件大于%1$d字节,你上传的文件是%2$d字节。换一个小点的版本试一下。"
 
 #. TRANS: Message given if an upload would exceed user quota.
-#. TRANS: %d (number) is the user quota in bytes.
-#: classes/File.php:201
-#, php-format
-msgid "A file this large would exceed your user quota of %d bytes."
-msgstr "这么大的文件会超过你%d字节的用户配额。"
+#. TRANS: %d (number) is the user quota in bytes and is used for plural.
+#: classes/File.php:203
+#, fuzzy, php-format
+msgid "A file this large would exceed your user quota of %d byte."
+msgid_plural "A file this large would exceed your user quota of %d bytes."
+msgstr[0] "这么大的文件会超过你%d字节的用户配额。"
 
 #. TRANS: Message given id an upload would exceed a user's monthly quota.
-#. TRANS: $d (number) is the monthly user quota in bytes.
-#: classes/File.php:210
-#, php-format
-msgid "A file this large would exceed your monthly quota of %d bytes."
-msgstr "这么大的文件会超过你%d字节的每月配额。"
+#. TRANS: $d (number) is the monthly user quota in bytes and is used for plural.
+#: classes/File.php:215
+#, fuzzy, php-format
+msgid "A file this large would exceed your monthly quota of %d byte."
+msgid_plural "A file this large would exceed your monthly quota of %d bytes."
+msgstr[0] "这么大的文件会超过你%d字节的每月配额。"
 
 #. TRANS: Client exception thrown if a file upload does not have a valid name.
-#: classes/File.php:247 classes/File.php:262
+#: classes/File.php:262 classes/File.php:277
 msgid "Invalid filename."
 msgstr "无效的文件名。"
 
@@ -5689,39 +5948,47 @@ msgid "Problem saving notice."
 msgstr "保存消息时出错。"
 
 #. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
-#: classes/Notice.php:907
-msgid "Bad type provided to saveKnownGroups"
+#: classes/Notice.php:905
+#, fuzzy
+msgid "Bad type provided to saveKnownGroups."
 msgstr "对 saveKnownGroups 提供的类型无效"
 
 #. TRANS: Server exception thrown when an update for a group inbox fails.
-#: classes/Notice.php:1006
+#: classes/Notice.php:1004
 msgid "Problem saving group inbox."
 msgstr "保存小组收件箱时出错。"
 
 #. TRANS: Server exception thrown when a reply cannot be saved.
 #. TRANS: %1$d is a notice ID, %2$d is the ID of the mentioned user.
-#: classes/Notice.php:1120
+#: classes/Notice.php:1118
 #, php-format
 msgid "Could not save reply for %1$d, %2$d."
 msgstr "无法保存回复,%1$d 对 %2$d。"
 
 #. 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.
-#: classes/Notice.php:1822
+#: classes/Notice.php:1820
 #, php-format
 msgid "RT @%1$s %2$s"
 msgstr "RT @%1$s %2$s"
 
+#. TRANS: Full name of a profile or group followed by nickname in parens
+#: classes/Profile.php:164 classes/User_group.php:247
+#, fuzzy, php-format
+msgctxt "FANCYNAME"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Exception thrown when trying to revoke an existing role for a user that does not exist.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:791
+#: classes/Profile.php:812
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
 msgstr "无法取消用户#%2$d的\\\"%1$s\\\"权限,不存在。"
 
 #. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
 #. TRANS: %1$s is the role name, %2$s is the user ID (number).
-#: classes/Profile.php:800
+#: classes/Profile.php:821
 #, php-format
 msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
 msgstr "无法取消用户#%2$d的\\\"%1$s\\\"权限,数据库错误。"
@@ -5791,32 +6058,32 @@ msgid "Welcome to %1$s, @%2$s!"
 msgstr "欢迎来到 %1$s,@%2$s!"
 
 #. TRANS: Server exception.
-#: classes/User.php:902
+#: classes/User.php:912
 msgid "No single user defined for single-user mode."
 msgstr "没有单独的用户被定义为单用户模式。"
 
 #. TRANS: Server exception.
-#: classes/User.php:906
+#: classes/User.php:916
 msgid "Single-user mode code called when not enabled."
 msgstr ""
 
 #. TRANS: Server exception thrown when creating a group failed.
-#: classes/User_group.php:495
+#: classes/User_group.php:511
 msgid "Could not create group."
 msgstr "无法创建小组。"
 
 #. TRANS: Server exception thrown when updating a group URI failed.
-#: classes/User_group.php:505
+#: classes/User_group.php:521
 msgid "Could not set group URI."
 msgstr "无法设置小组 URI。"
 
 #. TRANS: Server exception thrown when setting group membership failed.
-#: classes/User_group.php:528
+#: classes/User_group.php:544
 msgid "Could not set group membership."
 msgstr "无法设置小组成员。"
 
 #. TRANS: Server exception thrown when saving local group information failed.
-#: classes/User_group.php:543
+#: classes/User_group.php:559
 msgid "Could not save local group info."
 msgstr "无法保存本地小组信息。"
 
@@ -5866,194 +6133,201 @@ msgstr "%1$s - %2$s"
 msgid "Untitled page"
 msgstr "无标题页"
 
+#. TRANS: Localized tooltip for '...' expansion button on overlong remote messages.
+#: lib/action.php:310
+msgctxt "TOOLTIP"
+msgid "Show more"
+msgstr ""
+
 #. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
-#: lib/action.php:477
+#: lib/action.php:526
 msgid "Primary site navigation"
 msgstr "主站导航"
 
 #. TRANS: Tooltip for main menu option "Personal"
-#: lib/action.php:483
+#: lib/action.php:532
 msgctxt "TOOLTIP"
 msgid "Personal profile and friends timeline"
 msgstr "个人资料及朋友的时间线"
 
 #. TRANS: Main menu option when logged in for access to personal profile and friends timeline
-#: lib/action.php:486
+#: lib/action.php:535
 msgctxt "MENU"
 msgid "Personal"
 msgstr "个人"
 
 #. TRANS: Tooltip for main menu option "Account"
-#: lib/action.php:488
+#: lib/action.php:537
 msgctxt "TOOLTIP"
 msgid "Change your email, avatar, password, profile"
 msgstr "修改你的 email 地址、头像、密码、资料"
 
 #. TRANS: Main menu option when logged in for access to user settings
-#: lib/action.php:491
+#: lib/action.php:540
 msgid "Account"
 msgstr "帐号"
 
 #. TRANS: Tooltip for main menu option "Services"
-#: lib/action.php:493
+#: lib/action.php:542
 msgctxt "TOOLTIP"
 msgid "Connect to services"
 msgstr "关联的服务"
 
 #. TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
-#: lib/action.php:496
+#: lib/action.php:545
 msgid "Connect"
 msgstr "关联"
 
 #. TRANS: Tooltip for menu option "Admin"
-#: lib/action.php:499
+#: lib/action.php:548
 msgctxt "TOOLTIP"
 msgid "Change site configuration"
 msgstr "更改网站配置"
 
 #. TRANS: Main menu option when logged in and site admin for access to site configuration
 #. TRANS: Menu item in the group navigation page. Only shown for group administrators.
-#: lib/action.php:502 lib/groupnav.php:117
+#: lib/action.php:551 lib/groupnav.php:117
 msgctxt "MENU"
 msgid "Admin"
 msgstr "管理"
 
 #. TRANS: Tooltip for main menu option "Invite"
-#: lib/action.php:506
+#: lib/action.php:555
 #, php-format
 msgctxt "TOOLTIP"
 msgid "Invite friends and colleagues to join you on %s"
 msgstr "邀请好友和同事加入%s。"
 
 #. TRANS: Main menu option when logged in and invitations are allowed for inviting new users
-#: lib/action.php:509
+#: lib/action.php:558
 msgctxt "MENU"
 msgid "Invite"
 msgstr "邀请"
 
 #. TRANS: Tooltip for main menu option "Logout"
-#: lib/action.php:515
+#: lib/action.php:564
 msgctxt "TOOLTIP"
 msgid "Logout from the site"
 msgstr "从网站登出"
 
 #. TRANS: Main menu option when logged in to log out the current user
-#: lib/action.php:518
+#: lib/action.php:567
 msgctxt "MENU"
 msgid "Logout"
 msgstr "登出"
 
 #. TRANS: Tooltip for main menu option "Register"
-#: lib/action.php:523
+#: lib/action.php:572
 msgctxt "TOOLTIP"
 msgid "Create an account"
 msgstr "创建一个账户"
 
 #. TRANS: Main menu option when not logged in to register a new account
-#: lib/action.php:526
+#: lib/action.php:575
 msgctxt "MENU"
 msgid "Register"
 msgstr "注册"
 
 #. TRANS: Tooltip for main menu option "Login"
-#: lib/action.php:529
+#: lib/action.php:578
 msgctxt "TOOLTIP"
 msgid "Login to the site"
 msgstr "登录这个网站"
 
 #. TRANS: Main menu option when not logged in to log in
-#: lib/action.php:532
+#: lib/action.php:581
 msgctxt "MENU"
 msgid "Login"
 msgstr "登录"
 
 #. TRANS: Tooltip for main menu option "Help"
-#: lib/action.php:535
+#: lib/action.php:584
 msgctxt "TOOLTIP"
 msgid "Help me!"
 msgstr "帮助我!"
 
 #. TRANS: Main menu option for help on the StatusNet site
-#: lib/action.php:538
+#: lib/action.php:587
 msgctxt "MENU"
 msgid "Help"
 msgstr "帮助"
 
 #. TRANS: Tooltip for main menu option "Search"
-#: lib/action.php:541
+#: lib/action.php:590
 msgctxt "TOOLTIP"
 msgid "Search for people or text"
 msgstr "搜索人或文字"
 
 #. TRANS: Main menu option when logged in or when the StatusNet instance is not private
-#: lib/action.php:544
+#: lib/action.php:593
 msgctxt "MENU"
 msgid "Search"
 msgstr "搜索"
 
 #. TRANS: DT element for site notice. String is hidden in default CSS.
 #. TRANS: Menu item for site administration
-#: lib/action.php:566 lib/adminpanelaction.php:387
+#: lib/action.php:615 lib/adminpanelaction.php:387
 msgid "Site notice"
 msgstr "网站消息"
 
 #. TRANS: DT element for local views block. String is hidden in default CSS.
-#: lib/action.php:633
+#: lib/action.php:682
 msgid "Local views"
 msgstr "本地显示"
 
 #. TRANS: DT element for page notice. String is hidden in default CSS.
-#: lib/action.php:703
+#: lib/action.php:752
 msgid "Page notice"
 msgstr "页面消息"
 
 #. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
-#: lib/action.php:804
+#: lib/action.php:853
 msgid "Secondary site navigation"
 msgstr "副站导航"
 
 #. TRANS: Secondary navigation menu option leading to help on StatusNet.
-#: lib/action.php:810
+#: lib/action.php:859
 msgid "Help"
 msgstr "帮助"
 
 #. TRANS: Secondary navigation menu option leading to text about StatusNet site.
-#: lib/action.php:813
+#: lib/action.php:862
 msgid "About"
 msgstr "关于"
 
 #. TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
-#: lib/action.php:816
+#: lib/action.php:865
 msgid "FAQ"
 msgstr "FAQ"
 
 #. TRANS: Secondary navigation menu option leading to Terms of Service.
-#: lib/action.php:821
+#: lib/action.php:870
 msgid "TOS"
 msgstr "条款"
 
 #. TRANS: Secondary navigation menu option leading to privacy policy.
-#: lib/action.php:825
+#: lib/action.php:874
 msgid "Privacy"
 msgstr "隐私"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:828
+#. TRANS: Secondary navigation menu option. Leads to information about StatusNet and its license.
+#: lib/action.php:877
 msgid "Source"
 msgstr "源码"
 
-#. TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
-#: lib/action.php:834
+#. TRANS: Secondary navigation menu option leading to e-mail contact information on the
+#. TRANS: StatusNet site, where to report bugs, ...
+#: lib/action.php:884
 msgid "Contact"
 msgstr "联系"
 
-#. TRANS: Secondary navigation menu option.
-#: lib/action.php:837
+#. TRANS: Secondary navigation menu option. Leads to information about embedding a timeline widget.
+#: lib/action.php:887
 msgid "Badge"
 msgstr "挂件"
 
 #. TRANS: DT element for StatusNet software license.
-#: lib/action.php:866
+#: lib/action.php:916
 msgid "StatusNet software license"
 msgstr "StatusNet 软件许可证"
 
@@ -6061,7 +6335,7 @@ msgstr "StatusNet 软件许可证"
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: "%%site.broughtby%%" is the value of the variable site.broughtby
-#: lib/action.php:873
+#: lib/action.php:923
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -6071,7 +6345,7 @@ msgstr ""
 "broughtbyurl%%)。"
 
 #. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
-#: lib/action.php:876
+#: lib/action.php:926
 #, php-format
 msgid "**%%site.name%%** is a microblogging service."
 msgstr "**%%site.name%%** 是一个微博客服务。"
@@ -6080,7 +6354,7 @@ msgstr "**%%site.name%%** 是一个微博客服务。"
 #. TRANS: Make sure there is no whitespace between "]" and "(".
 #. TRANS: Text between [] is a link description, text between () is the link itself.
 #. TRANS: %s is the version of StatusNet that is being used.
-#: lib/action.php:883
+#: lib/action.php:933
 #, php-format
 msgid ""
 "It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -6091,50 +6365,50 @@ msgstr ""
 "(http://www.fsf.org/licensing/licenses/agpl-3.0.html)授权。"
 
 #. TRANS: DT element for StatusNet site content license.
-#: lib/action.php:899
+#: lib/action.php:949
 msgid "Site content license"
 msgstr "网站内容许可协议"
 
 #. TRANS: Content license displayed when license is set to 'private'.
 #. TRANS: %1$s is the site name.
-#: lib/action.php:906
+#: lib/action.php:956
 #, php-format
 msgid "Content and data of %1$s are private and confidential."
 msgstr "%1$s的内容和数据是私人且保密的。"
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved'.
 #. TRANS: %1$s is the copyright owner.
-#: lib/action.php:913
+#: lib/action.php:963
 #, php-format
 msgid "Content and data copyright by %1$s. All rights reserved."
 msgstr "内容和数据%1$s版权所有并保留所有权利。"
 
 #. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
-#: lib/action.php:917
+#: lib/action.php:967
 msgid "Content and data copyright by contributors. All rights reserved."
 msgstr "内容和数据贡献者版权所有并保留所有权利。"
 
 #. TRANS: license message in footer.
 #. TRANS: %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
-#: lib/action.php:949
+#: lib/action.php:999
 #, php-format
 msgid "All %1$s content and data are available under the %2$s license."
 msgstr "所有%1$s的内容和数据在%2$s许可下有效。"
 
 #. TRANS: DT element for pagination (previous/next, etc.).
-#: lib/action.php:1285
+#: lib/action.php:1335
 msgid "Pagination"
 msgstr "分页"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: present than the currently displayed information.
-#: lib/action.php:1296
+#: lib/action.php:1346
 msgid "After"
 msgstr "之后"
 
 #. TRANS: Pagination message to go to a page displaying information more in the
 #. TRANS: past than the currently displayed information.
-#: lib/action.php:1306
+#: lib/action.php:1356
 msgid "Before"
 msgstr "之前"
 
@@ -6213,7 +6487,7 @@ msgid "User configuration"
 msgstr "用户配置"
 
 #. TRANS: Menu item for site administration
-#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:115
+#: lib/adminpanelaction.php:355 lib/personalgroupnav.php:118
 msgid "User"
 msgstr "用户"
 
@@ -6473,7 +6747,7 @@ msgid "AJAX error"
 msgstr "AJAX 错误"
 
 #. TRANS: E-mail subject when a command has completed.
-#: lib/channel.php:233 lib/mailhandler.php:142
+#: lib/channel.php:233 lib/mailhandler.php:143
 msgid "Command complete"
 msgstr "执行完毕"
 
@@ -6489,7 +6763,7 @@ msgstr "没有此 id 的消息。"
 
 #. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
 #. TRANS: Error text shown when a last user notice is requested and it does not exist.
-#: lib/command.php:99 lib/command.php:626
+#: lib/command.php:99 lib/command.php:630
 msgid "User has no last notice."
 msgstr "用户没有最后一条的消息。"
 
@@ -6558,6 +6832,14 @@ msgstr "%1$s加入了%2$s小组。"
 msgid "%1$s left group %2$s."
 msgstr "%1$s离开了%2$s小组。"
 
+#. TRANS: Whois output.
+#. TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
+#: lib/command.php:426
+#, fuzzy, php-format
+msgctxt "WHOIS"
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
 #. TRANS: Whois output. %s is the full name of the queried user.
 #: lib/command.php:430
 #, php-format
@@ -6595,167 +6877,169 @@ msgid ""
 "same server."
 msgstr "%s是一个远程的用户;你只能给同一个服务器上的用户发送私信。"
 
-#. TRANS: Message given if content is too long.
+#. TRANS: Message given if content is too long. %1$sd is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
 #: lib/command.php:488
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "消息包含%2$d个字符,超出长度限制 - 不能超过%1$d个字符。"
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "消息包含%2$d个字符,超出长度限制 - 不能超过%1$d个字符。"
 
 #. TRANS: Error text shown sending a direct message fails with an unknown reason.
-#: lib/command.php:514
+#: lib/command.php:516
 msgid "Error sending direct message."
 msgstr "发送消息出错。"
 
 #. TRANS: Message given having repeated a notice from another user.
 #. TRANS: %s is the name of the user for which the notice was repeated.
-#: lib/command.php:551
+#: lib/command.php:553
 #, php-format
 msgid "Notice from %s repeated."
 msgstr "来自 %s 的消息已转发。"
 
 #. TRANS: Error text shown when repeating a notice fails with an unknown reason.
-#: lib/command.php:554
+#: lib/command.php:556
 msgid "Error repeating notice."
 msgstr "转发消息时出错。"
 
-#. TRANS: Message given if content of a notice for a reply is too long.
+#. TRANS: Message given if content of a notice for a reply is too long. %1$d is used for plural.
 #. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
-#: lib/command.php:589
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "消息过长 - 最长%1$d个字符,你发送的是%2$d。"
+#: lib/command.php:591
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %1$d character, you sent %2$d."
+msgid_plural "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgstr[0] "消息过长 - 最长%1$d个字符,你发送的是%2$d。"
 
 #. TRANS: Text shown having sent a reply to a notice successfully.
 #. TRANS: %s is the nickname of the user of the notice the reply was sent to.
-#: lib/command.php:600
+#: lib/command.php:604
 #, php-format
 msgid "Reply to %s sent."
 msgstr "给 %s 的回复已发送。"
 
 #. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
-#: lib/command.php:603
+#: lib/command.php:607
 msgid "Error saving notice."
 msgstr "保存消息时出错。"
 
 #. TRANS: Error text shown when no username was provided when issuing a subscribe command.
-#: lib/command.php:650
+#: lib/command.php:654
 msgid "Specify the name of the user to subscribe to."
 msgstr "指定要关注的用户名。"
 
 #. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
-#: lib/command.php:659
+#: lib/command.php:663
 msgid "Can't subscribe to OMB profiles by command."
 msgstr "无法通过命令行关注 OMB 用户。"
 
 #. TRANS: Text shown after having subscribed to another user successfully.
 #. TRANS: %s is the name of the user the subscription was requested for.
-#: lib/command.php:667
+#: lib/command.php:671
 #, php-format
 msgid "Subscribed to %s."
 msgstr "已关注%s。"
 
 #. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
 #. TRANS: Error text shown when no username was provided when issuing the command.
-#: lib/command.php:688 lib/command.php:799
+#: lib/command.php:692 lib/command.php:803
 msgid "Specify the name of the user to unsubscribe from."
 msgstr "指定要取消关注的用户名。"
 
 #. TRANS: Text shown after having unsubscribed from another user successfully.
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:699
+#: lib/command.php:703
 #, php-format
 msgid "Unsubscribed from %s."
 msgstr "取消关注%s。"
 
 #. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
 #. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
-#: lib/command.php:719 lib/command.php:745
+#: lib/command.php:723 lib/command.php:749
 msgid "Command not yet implemented."
 msgstr "命令尚未实现。"
 
 #. TRANS: Text shown when issuing the command "off" successfully.
-#: lib/command.php:723
+#: lib/command.php:727
 msgid "Notification off."
 msgstr "通知已关闭。"
 
 #. TRANS: Error text shown when the command "off" fails for an unknown reason.
-#: lib/command.php:726
+#: lib/command.php:730
 msgid "Can't turn off notification."
 msgstr "无法关闭通知。"
 
 #. TRANS: Text shown when issuing the command "on" successfully.
-#: lib/command.php:749
+#: lib/command.php:753
 msgid "Notification on."
 msgstr "通知已开启。"
 
 #. TRANS: Error text shown when the command "on" fails for an unknown reason.
-#: lib/command.php:752
+#: lib/command.php:756
 msgid "Can't turn on notification."
 msgstr "无法开启通知。"
 
 #. TRANS: Error text shown when issuing the login command while login is disabled.
-#: lib/command.php:766
+#: lib/command.php:770
 msgid "Login command is disabled."
 msgstr "登录命令被禁用。"
 
 #. TRANS: Text shown after issuing the login command successfully.
 #. TRANS: %s is a logon link..
-#: lib/command.php:779
+#: lib/command.php:783
 #, php-format
 msgid "This link is useable only once and is valid for only 2 minutes: %s."
 msgstr "这个链接只能使用一次并且仅在2分钟内有效:%s。"
 
 #. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
 #. TRANS: %s is the name of the user the unsubscription was requested for.
-#: lib/command.php:808
+#: lib/command.php:812
 #, php-format
 msgid "Unsubscribed %s."
 msgstr "已取消关注%s。"
 
 #. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
-#: lib/command.php:826
+#: lib/command.php:830
 msgid "You are not subscribed to anyone."
 msgstr "你没有关注任何人。"
 
 #. TRANS: Text shown after requesting other users a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed users.
-#: lib/command.php:831
+#: lib/command.php:835
 msgid "You are subscribed to this person:"
 msgid_plural "You are subscribed to these people:"
 msgstr[0] "你已关注了这个用户:"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user
 #. TRANS: (followers) without having any subscribers.
-#: lib/command.php:853
+#: lib/command.php:857
 msgid "No one is subscribed to you."
 msgstr "没有人关注你。"
 
 #. TRANS: Text shown after requesting other users that are subscribed to a user (followers).
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribing users.
-#: lib/command.php:858
+#: lib/command.php:862
 msgid "This person is subscribed to you:"
 msgid_plural "These people are subscribed to you:"
 msgstr[0] "这个用户正在关注你:"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to without having
 #. TRANS: any group subscriptions.
-#: lib/command.php:880
+#: lib/command.php:884
 msgid "You are not a member of any groups."
 msgstr "你还未成为任何一个小组的成员。"
 
 #. TRANS: Text shown after requesting groups a user is subscribed to.
 #. TRANS: This message supports plural forms. This message is followed by a
 #. TRANS: hard coded space and a comma separated list of subscribed groups.
-#: lib/command.php:885
+#: lib/command.php:889
 msgid "You are a member of this group:"
 msgid_plural "You are a member of these groups:"
 msgstr[0] "你是该小组成员:"
 
 #. TRANS: Help text for commands. Do not translate the command names themselves; they are fixed strings.
-#: lib/command.php:900
+#: lib/command.php:904
 msgid ""
 "Commands:\n"
 "on - turn on notifications\n"
@@ -6896,23 +7180,41 @@ msgstr "被授权已连接的应用"
 msgid "Database error"
 msgstr "数据库错误"
 
-#: lib/designsettings.php:105
+#. TRANS: Label in form on profile design page.
+#. TRANS: Field contains file name on user's computer that could be that user's custom profile background image.
+#: lib/designsettings.php:104
 msgid "Upload file"
 msgstr "上传文件"
 
+#. TRANS: Instructions for form on profile design page.
 #: lib/designsettings.php:109
 msgid ""
 "You can upload your personal background image. The maximum file size is 2MB."
 msgstr "你可以上传你的个人页面背景。文件最大 2MB。"
 
-#: lib/designsettings.php:283
-#, php-format
-msgid ""
-"The server was unable to handle that much POST data (%s bytes) due to its "
-"current configuration."
-msgstr "æ\9c\8då\8a¡å\99¨å½\93å\89\8dç\9a\84设置æ\97 æ³\95å¤\84ç\90\86è¿\99ä¹\88å¤\9aç\9a\84 POST æ\95°æ\8d®ï¼\88%s bytesï¼\89ã\80\82"
+#. TRANS: Radio button on profile design page that will enable use of the uploaded profile image.
+#: lib/designsettings.php:139
+#, fuzzy
+msgctxt "RADIO"
+msgid "On"
+msgstr "æ\89\93å¼\80"
 
-#: lib/designsettings.php:418
+#. TRANS: Radio button on profile design page that will disable use of the uploaded profile image.
+#: lib/designsettings.php:156
+#, fuzzy
+msgctxt "RADIO"
+msgid "Off"
+msgstr "关闭"
+
+#. TRANS: Button text on profile design page to reset all colour settings to default without saving.
+#: lib/designsettings.php:264
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Reset"
+msgstr "重置"
+
+#. TRANS: Success message displayed if design settings were saved after clicking "Use defaults".
+#: lib/designsettings.php:433
 msgid "Design defaults restored."
 msgstr "默认外观已恢复。"
 
@@ -6940,7 +7242,8 @@ msgstr "Atom"
 msgid "FOAF"
 msgstr "FOAF"
 
-#: lib/feedlist.php:65
+#. TRANS: Header for feed links (h2).
+#: lib/feedlist.php:66
 msgid "Feeds"
 msgstr "Feeds"
 
@@ -6978,7 +7281,8 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr "1 到 64 个小写字母或数字,不包含标点或空格"
 
 #: lib/groupeditform.php:163
-msgid "URL of the homepage or blog of the group or topic"
+#, fuzzy
+msgid "URL of the homepage or blog of the group or topic."
 msgstr "这个小组或主题的主页或博客 URL"
 
 #: lib/groupeditform.php:168
@@ -6986,19 +7290,26 @@ msgid "Describe the group or topic"
 msgstr "小组或主题的描述"
 
 #: lib/groupeditform.php:170
-#, php-format
-msgid "Describe the group or topic in %d characters"
-msgstr "小组或主题的描述,不能超过%d个字符"
+#, fuzzy, php-format
+msgid "Describe the group or topic in %d character or less"
+msgid_plural "Describe the group or topic in %d characters or less"
+msgstr[0] "小组或主题的描述,不能超过%d个字符"
 
-#: lib/groupeditform.php:179
+#: lib/groupeditform.php:182
+#, fuzzy
 msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
+"Location for the group, if any, like \"City, State (or Region), Country\"."
 msgstr "小组的地理位置,例如“国家、省份、城市”"
 
-#: lib/groupeditform.php:187
-#, php-format
-msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr "该小组额外的昵称,用逗号或者空格分隔开,最长%d"
+#: lib/groupeditform.php:190
+#, fuzzy, php-format
+msgid ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"alias allowed."
+msgid_plural ""
+"Extra nicknames for the group, separated with commas or spaces. Maximum %d "
+"aliases allowed."
+msgstr[0] "该小组额外的昵称,用逗号或者空格分隔开,最长%d"
 
 #. TRANS: Menu item in the group navigation page.
 #: lib/groupnav.php:86
@@ -7098,39 +7409,54 @@ msgstr "这个页面不提供你想要的媒体类型"
 msgid "Unsupported image file format."
 msgstr "不支持这种图像格式。"
 
-#: lib/imagefile.php:88
+#. TRANS: Exception thrown when too large a file is uploaded.
+#. TRANS: %s is the maximum file size, for example "500b", "10kB" or "2MB".
+#: lib/imagefile.php:90
 #, php-format
 msgid "That file is too big. The maximum file size is %s."
 msgstr "文件太大。文件大小限制在%s以下。"
 
-#: lib/imagefile.php:93
+#: lib/imagefile.php:95
 msgid "Partial upload."
 msgstr "部分上传。"
 
 #. TRANS: Client exception thrown when a file upload operation has failed with an unknown reason.
-#: lib/imagefile.php:101 lib/mediafile.php:179
+#: lib/imagefile.php:103 lib/mediafile.php:179
 msgid "System error uploading file."
 msgstr "上传文件时出错。"
 
-#: lib/imagefile.php:109
+#: lib/imagefile.php:111
 msgid "Not an image or corrupt file."
 msgstr "不是图片文件或文件已损坏。"
 
-#: lib/imagefile.php:122
+#: lib/imagefile.php:124
 msgid "Lost our file."
 msgstr "文件数据丢失"
 
-#: lib/imagefile.php:163 lib/imagefile.php:224
+#: lib/imagefile.php:165 lib/imagefile.php:226
 msgid "Unknown file type"
 msgstr "未知文件类型"
 
-#: lib/imagefile.php:244
-msgid "MB"
-msgstr "MB"
+#. TRANS: Number of megabytes. %d is the number.
+#: lib/imagefile.php:248
+#, fuzzy, php-format
+msgid "%dMB"
+msgid_plural "%dMB"
+msgstr[0] "MB"
 
-#: lib/imagefile.php:246
-msgid "kB"
-msgstr "kB"
+#. TRANS: Number of kilobytes. %d is the number.
+#: lib/imagefile.php:252
+#, fuzzy, php-format
+msgid "%dkB"
+msgid_plural "%dkB"
+msgstr[0] "kB"
+
+#. TRANS: Number of bytes. %d is the number.
+#: lib/imagefile.php:255
+#, php-format
+msgid "%dB"
+msgid_plural "%dB"
+msgstr[0] ""
 
 #: lib/jabber.php:387
 #, php-format
@@ -7379,7 +7705,7 @@ msgstr ""
 
 #. TRANS: Subject for favorite notification e-mail.
 #. TRANS: %1$s is the adding user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:603
+#: lib/mail.php:607
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) added your notice as a favorite"
 msgstr "%s (@%s) 收藏了你的消息"
@@ -7389,7 +7715,7 @@ msgstr "%s (@%s) 收藏了你的消息"
 #. TRANS: %3$s is a URL to the faved notice, %4$s is the faved notice text,
 #. TRANS: %5$s is a URL to all faves of the adding user, %6$s is the StatusNet sitename,
 #. TRANS: %7$s is the adding user's nickname.
-#: lib/mail.php:610
+#: lib/mail.php:614
 #, php-format
 msgid ""
 "%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -7427,7 +7753,7 @@ msgstr ""
 "%6$s\n"
 
 #. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
-#: lib/mail.php:668
+#: lib/mail.php:672
 #, php-format
 msgid ""
 "The full conversation can be read here:\n"
@@ -7440,7 +7766,7 @@ msgstr ""
 
 #. TRANS: E-mail subject for notice notification.
 #. TRANS: %1$s is the sending user's long name, %2$s is the adding user's nickname.
-#: lib/mail.php:676
+#: lib/mail.php:680
 #, fuzzy, php-format
 msgid "%1$s (@%2$s) sent a notice to your attention"
 msgstr "%s (@%s) 给你发送了一条消息"
@@ -7451,7 +7777,7 @@ msgstr "%s (@%s) 给你发送了一条消息"
 #. TRANS: %5$s is a URL to the full conversion if it exists (otherwise empty),
 #. TRANS: %6$s is a URL to reply to the notice, %7$s is a URL to all @-replied for the addressed user,
 #. TRANS: %8$s is a URL to the addressed user's e-mail settings, %9$s is the sender's nickname.
-#: lib/mail.php:684
+#: lib/mail.php:688
 #, php-format
 msgid ""
 "%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -7532,7 +7858,7 @@ msgstr "抱歉,这个不是你的收信电子邮件地址。"
 msgid "Sorry, no incoming email allowed."
 msgstr "抱歉,现在不允许电子邮件发布。"
 
-#: lib/mailhandler.php:228
+#: lib/mailhandler.php:229
 #, php-format
 msgid "Unsupported message type: %s"
 msgstr "不支持的信息格式:%s"
@@ -7594,7 +7920,7 @@ msgstr "无法判断文件的 MIME 类型。"
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %1$s is the file type that was denied, %2$s is the application part of
 #. TRANS: the MIME type that was denied.
-#: lib/mediafile.php:340
+#: lib/mediafile.php:345
 #, php-format
 msgid ""
 "\"%1$s\" is not a supported file type on this server. Try using another %2$s "
@@ -7603,7 +7929,7 @@ msgstr "此服务器不支持 “%1$s” 的文件格式,试下使用其他的
 
 #. TRANS: Client exception thrown trying to upload a forbidden MIME type.
 #. TRANS: %s is the file type that was denied.
-#: lib/mediafile.php:345
+#: lib/mediafile.php:350
 #, php-format
 msgid "\"%s\" is not a supported file type on this server."
 msgstr "这个服务器不支持 %s 的文件格式。"
@@ -7742,31 +8068,31 @@ msgstr "复制消息。"
 msgid "Couldn't insert new subscription."
 msgstr "无法添加新的关注。"
 
-#: lib/personalgroupnav.php:99
+#: lib/personalgroupnav.php:102
 msgid "Personal"
 msgstr "我的主页"
 
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:107
 msgid "Replies"
 msgstr "回复"
 
-#: lib/personalgroupnav.php:114
+#: lib/personalgroupnav.php:117
 msgid "Favorites"
 msgstr "收藏夹"
 
-#: lib/personalgroupnav.php:125
+#: lib/personalgroupnav.php:128
 msgid "Inbox"
 msgstr "收件箱"
 
-#: lib/personalgroupnav.php:126
+#: lib/personalgroupnav.php:129
 msgid "Your incoming messages"
 msgstr "你收到的私信"
 
-#: lib/personalgroupnav.php:130
+#: lib/personalgroupnav.php:133
 msgid "Outbox"
 msgstr "发件箱"
 
-#: lib/personalgroupnav.php:131
+#: lib/personalgroupnav.php:134
 msgid "Your sent messages"
 msgstr "你发送的私信"
 
@@ -7873,16 +8199,17 @@ msgid "Sandbox this user"
 msgstr "将这个用户放入沙盒。"
 
 #. TRANS: Fieldset legend for the search form.
-#: lib/searchaction.php:121
+#: lib/searchaction.php:120
 msgid "Search site"
 msgstr "搜索帮助"
 
 #. TRANS: Used as a field label for the field where one or more keywords
 #. TRANS: for searching can be entered.
-#: lib/searchaction.php:129
+#: lib/searchaction.php:128
 msgid "Keyword(s)"
 msgstr "关键词"
 
+#. TRANS: Button text for searching site.
 #: lib/searchaction.php:130
 msgctxt "BUTTON"
 msgid "Search"
@@ -7963,6 +8290,12 @@ msgstr "被添加标签的用户标签云"
 msgid "None"
 msgstr "无"
 
+#. TRANS: Server exception displayed if a theme name was invalid.
+#: lib/theme.php:74
+#, fuzzy
+msgid "Invalid theme name."
+msgstr "无效的文件名。"
+
 #: lib/themeuploader.php:50
 msgid "This server cannot handle theme uploads without ZIP support."
 msgstr "服务器不支持 ZIP,无法处理上传的主题。"
@@ -7972,8 +8305,8 @@ msgid "The theme file is missing or the upload failed."
 msgstr "主题文件丢失或上传失败。"
 
 #: lib/themeuploader.php:91 lib/themeuploader.php:102
-#: lib/themeuploader.php:278 lib/themeuploader.php:282
-#: lib/themeuploader.php:290 lib/themeuploader.php:297
+#: lib/themeuploader.php:279 lib/themeuploader.php:283
+#: lib/themeuploader.php:291 lib/themeuploader.php:298
 msgid "Failed saving theme."
 msgstr "保存主题失败"
 
@@ -7982,31 +8315,33 @@ msgid "Invalid theme: bad directory structure."
 msgstr "无效的主题:目录结构损坏。"
 
 #: lib/themeuploader.php:166
-#, php-format
-msgid "Uploaded theme is too large; must be less than %d bytes uncompressed."
-msgstr "上传的主题过大,解压后必须小于%d字节。"
+#, fuzzy, php-format
+msgid "Uploaded theme is too large; must be less than %d byte uncompressed."
+msgid_plural ""
+"Uploaded theme is too large; must be less than %d bytes uncompressed."
+msgstr[0] "上传的主题过大,解压后必须小于%d字节。"
 
-#: lib/themeuploader.php:178
+#: lib/themeuploader.php:179
 msgid "Invalid theme archive: missing file css/display.css"
 msgstr "无效的主题存档:css/display.css 文件丢失"
 
-#: lib/themeuploader.php:218
+#: lib/themeuploader.php:219
 msgid ""
 "Theme contains invalid file or folder name. Stick with ASCII letters, "
 "digits, underscore, and minus sign."
 msgstr ""
 "主题包含无效的文件或文件夹的名称。请只使用 ASCII 字母,数字,下划线和减号。"
 
-#: lib/themeuploader.php:224
+#: lib/themeuploader.php:225
 msgid "Theme contains unsafe file extension names; may be unsafe."
 msgstr "主题包含不安全的文件扩展名,可能有危险。"
 
-#: lib/themeuploader.php:241
+#: lib/themeuploader.php:242
 #, php-format
 msgid "Theme contains file of type '.%s', which is not allowed."
 msgstr "主题包含不允许的”.%s“格式文件。"
 
-#: lib/themeuploader.php:259
+#: lib/themeuploader.php:260
 msgid "Error opening theme archive."
 msgstr "打开主题文件时出错。"
 
@@ -8014,6 +8349,13 @@ msgstr "打开主题文件时出错。"
 msgid "Top posters"
 msgstr "灌水精英"
 
+#. TRANS: Title for the form to unblock a user.
+#: lib/unblockform.php:67
+#, fuzzy
+msgctxt "TITLE"
+msgid "Unblock"
+msgstr "取消屏蔽"
+
 #: lib/unsandboxform.php:69
 msgid "Unsandbox"
 msgstr "移出沙盒"
@@ -8175,16 +8517,20 @@ msgid "Message too long. Maximum is %1$d character, you sent %2$d."
 msgid_plural "Message too long. Maximum is %1$d characters, you sent %2$d."
 msgstr[0] "消息包含%2$d个字符,超出长度限制 - 不能超过%1$d个字符。"
 
-#: scripts/restoreuser.php:82
+#. TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+#: scripts/restoreuser.php:61
 #, php-format
-msgid "Backup file for user %s (%s)"
-msgstr "用户 %s (%s) 的备份文件"
+msgid "Getting backup from file '%s'."
+msgstr ""
 
-#: scripts/restoreuser.php:88
+#. TRANS: Commandline script output.
+#: scripts/restoreuser.php:91
 msgid "No user specified; using backup user."
 msgstr "没有用户被指定;使用备份用户。"
 
-#: scripts/restoreuser.php:94
-#, php-format
-msgid "%d entries in backup."
-msgstr "备份中有 %d 个条目。"
+#. TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+#: scripts/restoreuser.php:98
+#, fuzzy, php-format
+msgid "%d entry in backup."
+msgid_plural "%d entries in backup."
+msgstr[0] "备份中有 %d 个条目。"
index 3d733e15099cdd76b4c0d7b09f5cde1c659f3f7f..1965f95eabcca1b8fe4c356b87298b72b9a29e37 100644 (file)
@@ -206,7 +206,7 @@ class AdsensePlugin extends UAPPlugin
                             'author' => 'Evan Prodromou',
                             'homepage' => 'http://status.net/wiki/Plugin:Adsense',
                             'rawdescription' =>
-                            _m('Plugin to add Google Adsense to StatusNet sites.'));
+                            _m('Plugin to add Google AdSense to StatusNet sites.'));
         return true;
     }
 }
index 2f5e4af2f80d9e25bd2d7420ff7db7f4d88a33d7..77db7e7d8cb5bc5a6e734bf72148e99099d2a403 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+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"
@@ -27,7 +27,7 @@ msgid "AdSense"
 msgstr ""
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr ""
 
 #: adsenseadminpanel.php:52
index c572f9b2716e4383345fa140d25a9ab9e186b73a..87c864a69d51c92df7a5e68908085d2669ed22be 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Plugin evit ouzhpennañ Google Adsense da lec'hiennoù StatusNet."
 
 #: adsenseadminpanel.php:52
index e7ddaa32e93f082587159814693607e96c0a18dd..e6c880a6e382b21872d29639a7e500aa136b0c7c 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: de\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Plugin, das Google Adsense auf StatusNet-Websites hinzufügt."
 
 #: adsenseadminpanel.php:52
index 5a2fcfb2552b0f4d6f59f080ae28a7ccb980857d..1232b8293e4ac8a6afcfa63d76e4b191fa1cbea8 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: es\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Extensión para añadir Google Adsense a sitios StatusNet."
 
 #: adsenseadminpanel.php:52
index 17b56a00aa285ba0c2b1a168099ff8d7ea136c67..e73c99a46a110fd094cf23673dfec3656327d46c 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -33,7 +33,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Greffon pour ajouter Google Adsense aux sites StatusNet."
 
 #: adsenseadminpanel.php:52
index e906670ea2b15d1aa90721306425795485896772..2efd29f966bf5ec24c4c5f18fd717bd050164658 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: gl\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,7 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr ""
 
 #: adsenseadminpanel.php:52
index 1f8a73ea203e4b04b87e44533ab35a8c3bac5e43..ef9250d00027f2259e347a4b1472f9c43ee182bc 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Plug-in pro adder Google Adsense a sitos StatusNet."
 
 #: adsenseadminpanel.php:52
index e8addce834be6159707218f4e79b4aae8cbdfd84..004fe05594ee82f44e3ad2df534f372b6a32d1a7 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Italian <http://translatewiki.net/wiki/Portal:it>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: it\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Plugin per aggiungere Google Adsense ai siti StatusNet"
 
 #: adsenseadminpanel.php:52
index d3ccee66ef1649ec959116deaaa32cfc9859ab1f..ee971e6d122f630ec98366bb7956bb72ea34af13 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Georgian <http://translatewiki.net/wiki/Portal:ka>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ka\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,7 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr ""
 
 #: adsenseadminpanel.php:52
index 44fe432aafd84acaea971152624acabeafbdf043..ef9b949e4d1f9282b7988e9bdf780643849b94a4 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Приклучок за додавање на Google AdSense во мреж. места со StatusNet."
 
 #: adsenseadminpanel.php:52
index c4854ad3f8dad2de9cff77b7b717dc29e3da202a..9c722cc9567626033de7aeac82096b097467053a 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Plug-in om Google AdSense toe te voegen aan Statusnetsites."
 
 #: adsenseadminpanel.php:52
index cbe5e05544b8aff672ea96e11652e413fd65e04d..649287cebdfa800c98825a4dc44f58ed5db8d0f7 100644 (file)
@@ -10,14 +10,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
 "br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt-br\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -34,7 +34,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Plugin para adicionar Google Adsense aos sites StatusNet."
 
 #: adsenseadminpanel.php:52
@@ -80,7 +81,7 @@ msgstr "Código colocado dentro de um retângulo."
 
 #: adsenseadminpanel.php:188
 msgid "Leaderboard"
-msgstr ""
+msgstr "Classificação"
 
 #: adsenseadminpanel.php:189
 msgid "Leaderboard slot code"
index 85bb316a6107a1b5ef86d7e64d077b2702cd9962..3a359a3a966545eae97d52a54f4aade6b349b789 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ru\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -34,7 +34,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Плагин для добавления Google Adsense на сайты StatusNet."
 
 #: adsenseadminpanel.php:52
index 031b795032d506856da63b92e7d1272c1bdfde47..f8e3d83bc6051db52f533f3db22073f70b3cc880 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Swedish <http://translatewiki.net/wiki/Portal:sv>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: sv\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,7 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr ""
 
 #: adsenseadminpanel.php:52
index ad5ed1ad260da60ca501f9bbdb523321138da8e8..db5d3445b02dcf3033d30e28e9d52d73ce68f082 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:50+0000\n"
 "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: tl\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -32,7 +32,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr ""
 "Pampasak upang maidagdag ang Adsense ng Google sa mga sityo ng StatusNet."
 
index f15de57c98393508808e470262b2b240baf5085b..fe9ee498489874e2384d98952ad79cb706a9e5d3 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:51+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -33,7 +33,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "Додаток для відображення Google Adsense на сторінці сайту StatusNet."
 
 #: adsenseadminpanel.php:52
index 9bc76e4160e4900eb77c31eb1bf25d06373fd679..0bdb9880d4a3c2c9617d119d60944cb06314d08a 100644 (file)
@@ -10,14 +10,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Adsense\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:09+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:51+0000\n"
 "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
 "hans>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: zh-hans\n"
 "X-Message-Group: #out-statusnet-plugin-adsense\n"
@@ -34,7 +34,8 @@ msgid "AdSense"
 msgstr "AdSense"
 
 #: AdsensePlugin.php:209
-msgid "Plugin to add Google Adsense to StatusNet sites."
+#, fuzzy
+msgid "Plugin to add Google AdSense to StatusNet sites."
 msgstr "添加 Google Adsense 到 StatusNet 网站的插件。"
 
 #: adsenseadminpanel.php:52
index de00fc1cab266f5a8156b33dbf9c39ae7af86086..4298ae85e3de4e26e6aaa84a018c4484b9ffba08 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - BitlyUrl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:16+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:27:56+0000\n"
 "Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:11:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: no\n"
 "X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
@@ -23,7 +23,7 @@ msgstr ""
 
 #: BitlyUrlPlugin.php:48
 msgid "You must specify a serviceUrl for bit.ly shortening."
-msgstr ""
+msgstr "Du må angi en serviceUrl for bit.ly-forkortelse."
 
 #: BitlyUrlPlugin.php:171
 #, php-format
diff --git a/plugins/Comet/locale/br/LC_MESSAGES/Comet.po b/plugins/Comet/locale/br/LC_MESSAGES/Comet.po
new file mode 100644 (file)
index 0000000..70093d6
--- /dev/null
@@ -0,0 +1,28 @@
+# Translation of StatusNet - Comet to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:04+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:12:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Un astenn evit ober hizivadennoù \"war ar prim\" en ur implijout Comet/"
+"Bayeux."
index caafa7ba82f6c50ba074dbad871ce1ff34757156..d647fe3f6ffb3ad70b9f82e34ed1f3629c8bfde1 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Disqus\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:26+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:06+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:07+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:43+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-plugin-disqus\n"
@@ -27,10 +27,12 @@ msgid ""
 "Please enable JavaScript to view the [comments powered by Disqus](http://"
 "disqus.com/?ref_noscript=%s)."
 msgstr ""
+"Mar plij gweredekait JavaScript evit gwelet an [evezhiadennoù enlusket gant "
+"Disqus] (http://disqus.com/?ref_noscript=%s)."
 
 #: DisqusPlugin.php:149
 msgid "Comments powered by "
-msgstr ""
+msgstr "Evezhiadennoù enlusket gant "
 
 #: DisqusPlugin.php:201
 msgid "Comments"
diff --git a/plugins/EmailSummary/EmailSummaryPlugin.php b/plugins/EmailSummary/EmailSummaryPlugin.php
new file mode 100644 (file)
index 0000000..58c40e4
--- /dev/null
@@ -0,0 +1,202 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * Sends an email summary of the inbox to users in the network
+ *
+ * PHP version 5
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Sample
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+/**
+ * Plugin for sending email summaries to users
+ *
+ * @category  Email
+ * @package   StatusNet
+ * @author    Brion Vibber <brionv@status.net>
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+class EmailSummaryPlugin extends Plugin
+{
+    /**
+     * Database schema setup
+     *
+     * @return boolean hook value
+     */
+
+    function onCheckSchema()
+    {
+        $schema = Schema::get();
+
+        // For storing user-submitted flags on profiles
+
+        $schema->ensureTable('email_summary_status',
+                             array(new ColumnDef('user_id', 'integer', null,
+                                                 false, 'PRI'),
+                                   new ColumnDef('send_summary', 'tinyint', null,
+                                                false, null, 1),
+                                   new ColumnDef('last_summary_id', 'integer', null,
+                                                true),
+                                   new ColumnDef('created', 'datetime', null,
+                                                false),
+                                   new ColumnDef('modified', 'datetime', null,
+                                                false),
+                                  )
+                            );
+        return true;
+    }
+
+    /**
+     * Load related modules when needed
+     *
+     * @param string $cls Name of the class to be loaded
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
+     * 
+     */
+    
+    function onAutoload($cls)
+    {
+        $dir = dirname(__FILE__);
+
+        switch ($cls)
+        {
+        case 'SiteEmailSummaryHandler':
+        case 'UserEmailSummaryHandler':
+            include_once $dir . '/'.strtolower($cls).'.php';
+           return false;
+        case 'Email_summary_status':
+            include_once $dir . '/'.$cls.'.php';
+            return false;
+        default:
+            return true;
+        }
+    }
+
+    /**
+     * Version info for this plugin
+     *
+     * @param array &$versions array of version data
+     *
+     * @return boolean hook value; true means continue processing, false means stop.
+     * 
+     */
+    
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'EmailSummary',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Evan Prodromou',
+                            'homepage' => 'http://status.net/wiki/Plugin:EmailSummary',
+                            'rawdescription' =>
+                            _m('Send an email summary of the inbox to users.'));
+        return true;
+    }
+
+    /**
+     * Register our queue handlers
+     * 
+     * @param QueueManager $qm Current queue manager
+     * 
+     * @return boolean hook value
+     */
+    
+    function onEndInitializeQueueManager($qm)
+    {
+       $qm->connect('sitesum', 'SiteEmailSummaryHandler');
+       $qm->connect('usersum', 'UserEmailSummaryHandler');
+       return true;
+    }
+    
+    /**
+     * Add a checkbox to turn off email summaries
+     * 
+     * @param Action $action Action being executed (emailsettings)
+     * 
+     * @return boolean hook value
+     */
+    
+    function onEndEmailFormData($action)
+    {
+       $user = common_current_user();
+       
+       $action->elementStart('li');
+       $action->checkbox('emailsummary',
+                         // TRANS: Checkbox label in e-mail preferences form.
+                         _('Send me a periodic summary of updates from my network.'),
+                         Email_summary_status::getSendSummary($user->id));
+       $action->elementEnd('li');
+       return true;
+    }
+    
+    /**
+     * Add a checkbox to turn off email summaries
+     * 
+     * @param Action $action Action being executed (emailsettings)
+     * 
+     * @return boolean hook value
+     */
+    
+    function onEndEmailSaveForm($action)
+    {
+       $sendSummary = $action->boolean('emailsummary');
+       
+       $user = common_current_user();
+       
+       if (!empty($user)) {
+           
+           $ess = Email_summary_status::staticGet('user_id', $user->id);
+           
+           if (empty($ess)) {
+               
+               $ess = new Email_summary_status();
+
+               $ess->user_id      = $user->id;
+               $ess->send_summary = $sendSummary;
+               $ess->created      = common_sql_now();
+               $ess->modified     = common_sql_now();
+               
+               $ess->insert();
+               
+           } else {
+               
+               $orig = clone($ess);
+               
+               $ess->send_summary = $sendSummary;
+               $ess->modified     = common_sql_now();
+               
+               $ess->update($orig);
+           }
+       }
+       
+       return true;
+    }
+}
diff --git a/plugins/EmailSummary/Email_summary_status.php b/plugins/EmailSummary/Email_summary_status.php
new file mode 100644 (file)
index 0000000..5b5b231
--- /dev/null
@@ -0,0 +1,167 @@
+<?php
+/**
+ * Data class for email summary status
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
+
+/**
+ * Data class for email summaries
+ * 
+ * Email summary information for users
+ *
+ * @category Action
+ * @package  StatusNet
+ * @author   Evan Prodromou <evan@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link     http://status.net/
+ *
+ * @see      DB_DataObject
+ */
+
+class Email_summary_status extends Memcached_DataObject
+{
+    public $__table = 'email_summary_status'; // table name
+    public $user_id;                         // int(4)  primary_key not_null
+    public $send_summary;                    // tinyint not_null
+    public $last_summary_id;                 // int(4)  null
+    public $created;                         // datetime not_null
+    public $modified;                        // datetime not_null
+
+    /**
+     * Get an instance by key
+     *
+     * @param string $k Key to use to lookup (usually 'user_id' for this class)
+     * @param mixed  $v Value to lookup
+     *
+     * @return Email_summary_status object found, or null for no hits
+     *
+     */
+    function staticGet($k, $v=null)
+    {
+        return Memcached_DataObject::staticGet('email_summary_status', $k, $v);
+    }
+
+    /**
+     * return table definition for DB_DataObject
+     *
+     * DB_DataObject needs to know something about the table to manipulate
+     * instances. This method provides all the DB_DataObject needs to know.
+     *
+     * @return array array of column definitions
+     */
+
+    function table()
+    {
+        return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+                    'send_summary' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+                    'last_summary_id' => DB_DATAOBJECT_INT,
+                    'created' => DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
+                    'modified' => DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
+    }
+
+    /**
+     * return key definitions for DB_DataObject
+     *
+     * @return array list of key field names
+     */
+
+    function keys()
+    {
+        return array_keys($this->keyTypes());
+    }
+
+    /**
+     * return key definitions for Memcached_DataObject
+     *
+     * Our caching system uses the same key definitions, but uses a different
+     * method to get them. This key information is used to store and clear
+     * cached data, so be sure to list any key that will be used for static
+     * lookups.
+     *
+     * @return array associative array of key definitions, field name to type:
+     *         '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');
+    }
+
+    /**
+     * Magic formula for non-autoincrementing integer primary keys
+     *
+     * @return array magic three-false array that stops auto-incrementing.
+     */
+    
+    function sequenceKey()
+    {
+        return array(false, false, false);
+    }
+
+    /**
+     * Helper function
+     *
+     * @param integer $user_id ID of the user to get a count for
+     *
+     * @return int flag for whether to send this user a summary email
+     */
+
+    static function getSendSummary($user_id)
+    {
+        $ess = Email_summary_status::staticGet('user_id', $user_id);
+
+       if (!empty($ess)) {
+           return $ess->send_summary;
+       } else {
+           return 1;
+       }
+    }
+
+    /**
+     * Get email summary status for a user
+     *
+     * @param integer $user_id ID of the user to get a count for
+     *
+     * @return Email_summary_status instance for this user, with count already incremented.
+     */
+
+    static function getLastSummaryID($user_id)
+    {
+        $ess = Email_summary_status::staticGet('user_id', $user_id);
+       
+       if (!empty($ess)) {
+           return $ess->last_summary_id;
+       } else {
+           return null;
+       }
+    }
+}
diff --git a/plugins/EmailSummary/sendemailsummary.php b/plugins/EmailSummary/sendemailsummary.php
new file mode 100644 (file)
index 0000000..37bfdcf
--- /dev/null
@@ -0,0 +1,47 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - a distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..'));
+
+$shortoptions = 'i:n:a';
+$longoptions = array('id=', 'nickname=', 'all');
+
+$helptext = <<<END_OF_SENDEMAILSUMMARY_HELP
+sendemailsummary.php [options]
+Send an email summary of the inbox to users
+
+  -i --id       ID of user to send summary to
+  -n --nickname nickname of the user to send summary to
+  -a --all      send summary to all users
+
+END_OF_SENDEMAILSUMMARY_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+$qm = QueueManager::get();
+
+// enqueue summary for user or all users
+
+try {
+    $user = getUser();
+    $qm->enqueue($user->id, 'usersum');
+} catch (NoUserArgumentException $nuae) {
+    $qm->enqueue(null, 'sitesum');
+}
diff --git a/plugins/EmailSummary/siteemailsummaryhandler.php b/plugins/EmailSummary/siteemailsummaryhandler.php
new file mode 100644 (file)
index 0000000..595c326
--- /dev/null
@@ -0,0 +1,96 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * 
+ * Handler for queue items of type 'sitesum', sends email summaries
+ * to all users on the site.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Sample
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+/**
+ * 
+ * Handler for queue items of type 'sitesum', sends email summaries
+ * to all users on the site.
+ *
+ * @category  Email
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+class SiteEmailSummaryHandler extends QueueHandler
+{
+
+    /**
+     * Return transport keyword which identifies items this queue handler
+     * services; must be defined for all subclasses.
+     *
+     * Must be 8 characters or less to fit in the queue_item database.
+     * ex "email", "jabber", "sms", "irc", ...
+     *
+     * @return string
+     */
+    
+    function transport()
+    {
+        return 'sitesum';
+    }
+
+    /**
+     * Handle the site
+     * 
+     * @param mixed $object
+     * @return boolean true on success, false on failure
+     */
+    
+    function handle($object)
+    {
+       $qm = QueueManager::get();
+
+       try {
+           // Enqueue a summary for all users
+           
+           $user = new User();
+           $user->find();
+           
+           while ($user->fetch()) {
+               try {
+                   $qm->enqueue($user->id, 'usersum');
+               } catch (Exception $e) {
+                   common_log(LOG_WARNING, $e->getMessage());
+                   continue;
+               }
+           }
+       } catch (Exception $e) {
+           common_log(LOG_WARNING, $e->getMessage());
+       }
+       
+       return true;
+    }
+}
+
diff --git a/plugins/EmailSummary/useremailsummaryhandler.php b/plugins/EmailSummary/useremailsummaryhandler.php
new file mode 100644 (file)
index 0000000..b1ebd0c
--- /dev/null
@@ -0,0 +1,226 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * 
+ * Handler for queue items of type 'usersum', sends an email summaries
+ * to a particular user.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Sample
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+/**
+ * Handler for queue items of type 'usersum', sends an email summaries
+ * to a particular user.
+ *
+ * @category  Email
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link      http://status.net/
+ */
+
+class UserEmailSummaryHandler extends QueueHandler
+{
+    // Maximum number of notices to include by default. This is probably too much.
+    
+    const MAX_NOTICES = 200;
+    
+    /**
+     * Return transport keyword which identifies items this queue handler
+     * services; must be defined for all subclasses.
+     *
+     * Must be 8 characters or less to fit in the queue_item database.
+     * ex "email", "jabber", "sms", "irc", ...
+     *
+     * @return string
+     */
+    
+    function transport()
+    {
+        return 'sitesum';
+    }
+
+    /**
+     * Send a summary email to the user
+     * 
+     * @param mixed $object
+     * @return boolean true on success, false on failure
+     */
+    
+    function handle($user_id)
+    {
+       // Skip if they've asked not to get summaries
+
+       $ess = Email_summary_status::staticGet('user_id', $user_id);
+       
+       if (!empty($ess) && !$ess->send_summary) {
+           common_log(LOG_INFO, sprintf('Not sending email summary for user %s by request.', $user_id));
+           return true;
+       }
+
+       $since_id = null;
+       
+       if (!empty($ess)) {
+           $since_id = $ess->last_summary_id;
+       }
+         
+       $user = User::staticGet('id', $user_id);
+
+       if (empty($user)) {
+           common_log(LOG_INFO, sprintf('Not sending email summary for user %s; no such user.', $user_id));
+           return true;
+       }
+       
+       if (empty($user->email)) {
+           common_log(LOG_INFO, sprintf('Not sending email summary for user %s; no email address.', $user_id));
+           return true;
+       }
+       
+       $profile = $user->getProfile();
+       
+       if (empty($profile)) {
+           common_log(LOG_WARNING, sprintf('Not sending email summary for user %s; no profile.', $user_id));
+           return true;
+       }
+       
+       $notice = $user->ownFriendsTimeline(0, self::MAX_NOTICES, $since_id);
+
+       if (empty($notice) || $notice->N == 0) {
+           common_log(LOG_WARNING, sprintf('Not sending email summary for user %s; no notices.', $user_id));
+           return true;
+       }
+
+       // XXX: This is risky fingerpoken in der objektvars, but I didn't feel like
+       // figuring out a better way. -ESP
+
+       $new_top = null;
+       
+       if ($notice instanceof ArrayWrapper) {
+           $new_top = $notice->_items[0]->id;
+       }
+       
+       $out = new XMLStringer();
+
+       $out->raw(sprintf(_('<p>Recent updates from %1s for %2s:</p>'),
+                         common_config('site', 'name'),
+                         $profile->getBestName()));
+       
+
+       $out->elementStart('table', array('width' => '541px', 'style' => 'border: none'));
+       
+       while ($notice->fetch()) {
+           
+           $profile = Profile::staticGet('id', $notice->profile_id);
+           
+           if (empty($profile)) {
+               continue;
+           }
+           
+           $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
+
+           $out->elementStart('tr');
+           $out->elementStart('td', array('width' => AVATAR_STREAM_SIZE,
+                                          'height' => AVATAR_STREAM_SIZE,
+                                          'align' => 'left',
+                                          'valign' => 'top'));
+           $out->element('img', array('src' => ($avatar) ?
+                                      $avatar->displayUrl() :
+                                      Avatar::defaultImage($avatar_size),
+                                      'class' => 'avatar photo',
+                                      'width' => AVATAR_STREAM_SIZE,
+                                      'height' => AVATAR_STREAM_SIZE,
+                                      'alt' => $profile->getBestName()));
+           $out->elementEnd('td');
+           $out->elementStart('td', array('align' => 'left',
+                                          'valign' => 'top'));
+           $out->element('a', array('href' => $profile->profileurl),
+                         $profile->nickname);
+           $out->text(' ');
+           $out->raw($notice->rendered);
+           $out->element('br'); // yeah, you know it. I just wrote a <br> in the middle of my table layout.
+           $noticeurl = $notice->bestUrl();
+           // above should always return an URL
+           assert(!empty($noticeurl));
+           $out->elementStart('a', array('rel' => 'bookmark',
+                                         'class' => 'timestamp',
+                                         'href' => $noticeurl));
+           $dt = common_date_iso8601($notice->created);
+           $out->element('abbr', array('class' => 'published',
+                                       'title' => $dt),
+                         common_date_string($notice->created));
+           $out->elementEnd('a');
+           if ($notice->hasConversation()) {
+               $conv = Conversation::staticGet('id', $notice->conversation);
+               $convurl = $conv->uri;
+               if (!empty($convurl)) {
+                                 $out->text(' ');
+                                 $out->element('a',
+                                               array('href' => $convurl.'#notice-'.$notice->id,
+                                                     'class' => 'response'),
+                                               _('in context'));
+               }
+           }
+           $out->elementEnd('td');
+           $out->elementEnd('tr');
+       }
+       
+       $out->elementEnd('table');
+       
+       $out->raw(sprintf(_('<p><a href="%1s">change your email settings for %2s</a></p>'),
+                         common_local_url('emailsettings'),
+                         common_config('site', 'name')));
+
+       $body = $out->getString();
+       
+       // FIXME: do something for people who don't like HTML email
+       
+       mail_to_user($user, _('Updates from your network'), $body,
+                    array('Content-Type' => 'text/html; charset=UTF-8'));
+
+       if (empty($ess)) {
+           
+           $ess = new Email_summary_status();
+           
+           $ess->user_id         = $user_id;
+           $ess->created         = common_sql_now();
+           $ess->last_summary_id = $new_top;
+           $ess->modified        = common_sql_now();
+
+           $ess->insert();
+           
+       } else {
+           
+           $orig = clone($ess);
+           
+           $ess->last_summary_id = $new_top;
+           $ess->modified        = common_sql_now();
+
+           $ess->update($orig);
+       }
+       
+       return true;
+    }
+}
index 5b60c244d1d3ee0e94c6d98a3a6cb195b8f7da3d..0680fec716d4822b2c0ce3afec8b2fa11766a306 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Facebook\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:35+0000\n"
+"POT-Creation-Date: 2010-10-30 23:18+0000\n"
+"PO-Revision-Date: 2010-10-30 23:21:30+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:45+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75708); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-facebook\n"
@@ -37,7 +37,7 @@ msgid ""
 msgstr ""
 "Hallo %1$s.\n"
 "\n"
-"Het spijt ons je te moeten meedelen dat het niet mogelijk is uw "
+"Het spijt ons u te moeten meedelen dat het niet mogelijk is uw "
 "Facebookstatus bij te werken vanuit %2$s. De Facebookapplicatie is "
 "uitgeschakeld voor uw gebruiker. Dit kan komen doordat u de toegangsrechten "
 "voor de Facebookapplicatie hebt ingetrokken of omdat u uw Facebookgebruiker "
index dbd37abbcfb0d422c339e3e02e3e45348b2dfdf7..dcbf7d0bc582dfab8a70b635954c4336d0d52750 100644 (file)
@@ -41,12 +41,7 @@ class GroupFavoritedAction extends ShowgroupAction
      */
     function title()
     {
-        if (!empty($this->group->fullname)) {
-            // @todo Create a core method to create this properly. i18n issue.
-            $base = $this->group->fullname . ' (' . $this->group->nickname . ')';
-        } else {
-            $base = $this->group->nickname;
-        }
+        $base = $this->group->getFancyName();
 
         if ($this->page == 1) {
             // TRANS: %s is a group name.
index c6c2f11145382f42eccd1a7a877663e5c4ad46b4..041126fad69cf179696284df9a43b8a11adffeb1 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+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,13 +17,13 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr ""
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr ""
index 7362f0505a82239478dcfbf21898d74bd41cc78c..6ca70c83f939a020d88a50a338aa149fd54f5c91 100644 (file)
@@ -9,26 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr ""
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr ""
index c820c89e157e6425422aec03b352d61b30de8fad..cc8988658f7e8ab1a5c1bef18d9c9a48e0d5f00d 100644 (file)
@@ -10,26 +10,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: de\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Beliebte Beiträge in der %s-Gruppe"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Beliebte Beiträge in der %1$s-Gruppe, Seite %2$d"
index 6af511ae6a47bb264bb5987fdee8c67c97323447..3b3419d5a7b8d8ac4e1db7af9f58a28b851331ce 100644 (file)
@@ -9,26 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: es\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Mensajes populares en el grupo %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Mensajes populares en el grupo %1$s, página %2$d"
index 9cfb10efc8848a7a48b8255124dd5ca409f95c17..3facce573224c25ad2f01db27024d1bddf129863 100644 (file)
@@ -9,26 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Messages populaires dans le groupe %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Messages populaires dans le groupe %1$s, page %2$d"
index 03eb3e3da45ea6f3c5563c150f33d827fcd276e0..f1e424cd1699b358fc5c0ba1dac27ab86a01df42 100644 (file)
@@ -9,26 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Messages popular in gruppo %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Messages popular in gruppo %1$s, pagina %2$d"
index 1d1a43a0d0ddc0c668e4b95279b4a2889858c506..5aada9eca55336825c8a7cf03aab4ee1991a64d2 100644 (file)
@@ -9,26 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Популарни објави во групата %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Популарни објави во групата %1$s, страница %2$d"
index 1d8a2b57ece045723465ea2f2a52a12b59390ca7..bf56698779ccc659f0ecd9dceab2858086888cf9 100644 (file)
@@ -10,26 +10,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Populaire berichten in de groep %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Populaire berichten in de groep %1$s, pagina %2$d"
index 63e84c4532150bd652cdc19778ad1a77bfdeee89..1cb4433d8112203d7a3e1da656e8ea2460dcb961 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ru\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
@@ -23,13 +23,13 @@ msgstr ""
 "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Популярные сообщения в группе %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr ""
index 31a1077bd19fc8bd106a767f72a4240ab1a49f72..4091155de520d3c8ade1fb7b00e3afd8d1c3e17e 100644 (file)
@@ -9,26 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: tl\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Tanyag na mga pagpapaskila sa loob ng pangkat na %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Tanyag na mga pagpapaskila sa loob ng pangkat na %1$s, pahina %2$d"
index d0a44340a86e59b1faac7f1add55ad74b8f465bf..143c0cae84a71b6cbb6579e714d7b1bb5a3b5c6e 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - GroupFavorited\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:41+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:28+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
@@ -23,13 +23,13 @@ msgstr ""
 "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
 
 #. TRANS: %s is a group name.
-#: groupfavoritedaction.php:53
+#: groupfavoritedaction.php:48
 #, php-format
 msgid "Popular posts in %s group"
 msgstr "Популярні повідомлення спільноти %s"
 
 #. TRANS: %1$s is a group name, %2$s is a group number.
-#: groupfavoritedaction.php:56
+#: groupfavoritedaction.php:51
 #, php-format
 msgid "Popular posts in %1$s group, page %2$d"
 msgstr "Популярні повідомлення спільноти %1$s, сторінка %2$d"
index 6e2e1d122840d99d58bec97d26055ed197987777..62d8d044582b627ce3b7c0f0c5b80a8c215da1c7 100644 (file)
@@ -61,12 +61,7 @@ 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;
-        }
+        $base = $this->profile->getFancyName();
 
         if ($this->page == 1) {
             // TRANS: Page title.
index 6552915b9e1555205534f50b0e7fd6275117e92a..6dd726870db4d68b2fb5ea61a7cefc94eb729aab 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:46+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -46,19 +46,19 @@ msgstr "An implijer-mañ n'eus profil ebet dezhañ."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Kartenn mignoned %s"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, fuzzy, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "%s gartenn, pajenn %d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "%s gartenn, pajenn %d"
index 0299a5d153dc7d51b82483ed683b253967c87ec1..22c3e84eee601f501bc257132f213e3f737e67d0 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:46+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: de\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -49,19 +49,19 @@ msgstr "Benutzer hat kein Profil."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Karte der Freunde von %s"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Karte der Freunde von %1$s, Seite %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "%s-Karte, Seite %d"
index 8e6007152c064953d901fdedbe284753de290571..9d84ece5a3226c9faa4294d7f175cc7345e52074 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fi\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -46,19 +46,19 @@ msgstr "Käyttäjällä ei ole profiilia."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Kartta käyttäjän %s ystävistä"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, fuzzy, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Kartta käyttäjän %s ystävistä"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr ""
index a75da34ec69374885baedcaa825db4b00c0903ba..3999170555dde5a12a6c3b9953394f05218973f4 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -49,19 +49,19 @@ msgstr "Aucun profil ne correspond à cet utilisateur."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Carte des amis de %s"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Carte des amis de %1$s, page %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "Carte %s, page %d"
index 5df0d1404a1c61fadce0f1f91becd2119022439b..ec66764bc9d26d1c891b7b7f794b80339b1392ef 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: gl\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -46,19 +46,19 @@ msgstr "O usuario non ten perfil."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr ""
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr ""
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr ""
index 72249a6548dd1f0cd57f7aea38c8ca9b3fbdb90e..7deba8963b3cf95c657a0ee0e639600bb85785ec 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -48,19 +48,19 @@ msgstr "Le usator non ha un profilo."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Mappa del amicos de %s"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Mappa de amicos de %1$s, pagina %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "Mappa de %s, pagina %d"
index cf7be70ab984e5de5dcfd411b4dd70c46bfbc7a6..33562d597a79b86eb358d7382f39ae360837526a 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -48,19 +48,19 @@ msgstr "Корисникот нема профил."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Карта на пријатели на %s"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Карта на пријатели на %1$s, страница %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "Карта на %s, стр. %d"
index b478de888ed8de337668a232dc8332c99609f485..68b2d02ecabfdec7b3302a17399414de52bbcc19 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: no\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -48,19 +48,19 @@ msgstr "Bruker har ingen profil."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "%s vennekart"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "%1$s vennekart, side %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "%s kart, side %d"
index fdc68490e6c941e99a53695c452c1f3419afbb6e..f68e24ea9e9c3753d1a301fdc99c79245aeb0a61 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -49,19 +49,19 @@ msgstr "Deze gebruiker heeft geen profiel."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Kaart van %s en vrienden"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Kaart van vrienden van %1$s, pagina %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "Kaart van %s, pagina %d"
index 93ad72cc32d6acc1719d53c94206dc253ab36d81..97dbedf6e108bb617d6c37c1e47d489b61c233b0 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ru\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -47,19 +47,19 @@ msgstr "У пользователя нет профиля."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Карта друзей: %s"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, fuzzy, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Карта друзей: %s"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr ""
index 3011173480ed5cef0d494d431fc56fefb2fb18a3..fbeb8efac419be6b7aaf611e4d4a28275df80432 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Tamil <http://translatewiki.net/wiki/Portal:ta>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ta\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -46,19 +46,19 @@ msgstr ""
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr ""
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr ""
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr ""
index 49d27836b62ab3a88632f251e47a995508b5f6c4..bec287a2a2ac23a5e9ae5d32e1db15138b76ad07 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: tl\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -48,19 +48,19 @@ msgstr "Walang balangkas ang tagagamit."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "%s na mapa ng mga kaibigan"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr " %1$s mapa ng mga kaibigan, pahina %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "%s na mapa, pahina %d"
index 9a43d791e57aa3acdb1c74515d7ecba365c72450..9a928759a95fbe4dc38298a3050c662fee054d02 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -49,19 +49,19 @@ msgstr "Користувач не має профілю."
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "Мапа друзів %s."
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "Мапа друзів %1$s, сторінка %2$d"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "Мапа друзів %s, сторінка %d"
index 47f07d15974682588eb835eb070e2c212047f22d..15358a1aa3e494bbf57d13588963442f958a8011 100644 (file)
@@ -9,14 +9,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Mapstraction\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:46:47+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:33+0000\n"
 "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
 "hans>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:12:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: zh-hans\n"
 "X-Message-Group: #out-statusnet-plugin-mapstraction\n"
@@ -49,19 +49,19 @@ msgstr "用户没有个人信息。"
 
 #. TRANS: Page title.
 #. TRANS: %s is a user nickname.
-#: allmap.php:74
+#: allmap.php:69
 #, php-format
 msgid "%s friends map"
 msgstr "%s 好友地图"
 
 #. TRANS: Page title.
 #. TRANS: %1$s is a user nickname, %2$d is a page number.
-#: allmap.php:80
+#: allmap.php:75
 #, php-format
 msgid "%1$s friends map, page %2$d"
 msgstr "%1$s 好友地图,第 %2$d 页。"
 
-#: usermap.php:73
+#: usermap.php:68
 #, php-format
 msgid "%s map, page %d"
 msgstr "%s 地图,第 %d 页"
index 0ee956159c92f8fa95de398ac7d826547e9a773b..54412146ee49cb001e14a4c8695c5835e640fc27 100644 (file)
@@ -58,12 +58,7 @@ class UsermapAction 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;
-        }
+        $base = $this->profile->getFancyName();
 
         if ($this->page == 1) {
             // @todo CHECKME: inconsisten with paged variant below. " map" missing.
diff --git a/plugins/Memcached/locale/ja/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/ja/LC_MESSAGES/Memcached.po
new file mode 100644 (file)
index 0000000..fea6080
--- /dev/null
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: Iwai.masaharu
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:31+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:12:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"クエリー結果のキャッシュに <a href=\"http://memcached.org/\">Memcached</a> を"
+"使う"
diff --git a/plugins/NoticeTitle/locale/pl/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/pl/LC_MESSAGES/NoticeTitle.po
new file mode 100644 (file)
index 0000000..64b208f
--- /dev/null
@@ -0,0 +1,33 @@
+# Translation of StatusNet - NoticeTitle to Polish (Polski)
+# Expored from translatewiki.net
+#
+# Author: Raven
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:28:38+0000\n"
+"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:13:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pl\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && "
+"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr ""
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:309
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
index 03fcb71df02a16b79d7f9be365dabd476c2718e8..b43a2b5f11fde33c05d8524808dd0e4def553117 100644 (file)
@@ -188,10 +188,10 @@ class Ostatus_profile extends Memcached_DataObject
         } else if ($this->group_id && !$this->profile_id) {
             return true;
         } else if ($this->group_id && $this->profile_id) {
-            // TRANS: Server exception.
+            // TRANS: Server exception. %s is a URI.
             throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs set for %s.'),$this->uri));
         } else {
-            // TRANS: Server exception.
+            // TRANS: Server exception. %s is a URI.
             throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs empty for %s.'),$this->uri));
         }
     }
@@ -405,6 +405,7 @@ class Ostatus_profile extends Memcached_DataObject
         } else if ($feed->localName == 'rss') { // @fixme check namespace
             $this->processRssFeed($feed, $source);
         } else {
+            // TRANS: Exception.
             throw new Exception(_m('Unknown feed format.'));
         }
     }
@@ -428,6 +429,7 @@ class Ostatus_profile extends Memcached_DataObject
         $channels = $rss->getElementsByTagName('channel');
 
         if ($channels->length == 0) {
+            // TRANS: Exception.
             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");
@@ -555,7 +557,7 @@ class Ostatus_profile extends Memcached_DataObject
             $sourceContent = $note->title;
         } else {
             // @fixme fetch from $sourceUrl?
-            // TRANS: Client exception. %s is a source URL.
+            // TRANS: Client exception. %s is a source URI.
             throw new ClientException(sprintf(_m('No content for notice %s.'),$sourceUri));
         }
 
@@ -588,7 +590,9 @@ 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.
+                // @fixme I18N this tooltip will be saved with the site's default language
+                // TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+                // TRANS: this will usually be replaced with localised text from StatusNet core messages.
                 $showMoreText = _m('Show more');
                 $attachUrl = common_local_url('attachment',
                                               array('attachment' => $attachment->id));
@@ -839,7 +843,7 @@ class Ostatus_profile extends Memcached_DataObject
             return self::ensureFeedURL($feedurl, $hints);
         }
 
-        // TRANS: Exception.
+        // TRANS: Exception. %s is a URL.
         throw new Exception(sprintf(_m('Could not find a feed URL for profile page %s.'),$finalUrl));
     }
 
@@ -977,6 +981,7 @@ class Ostatus_profile extends Memcached_DataObject
         }
 
         // XXX: make some educated guesses here
+        // TRANS: Feed sub exception.
         throw new FeedSubException(_m('Can\'t find enough profile information to make a feed.'));
     }
 
@@ -1036,6 +1041,7 @@ class Ostatus_profile extends Memcached_DataObject
             return;
         }
         if (!common_valid_http_url($url)) {
+            // TRANS: Server exception. %s is a URL.
             throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url));
         }
 
@@ -1046,6 +1052,7 @@ class Ostatus_profile extends Memcached_DataObject
         }
         if (!$self) {
             throw new ServerException(sprintf(
+                // TRANS: Server exception. %s is a URI.
                 _m("Tried to update avatar for unsaved remote profile %s."),
                 $this->uri));
         }
@@ -1055,6 +1062,7 @@ class Ostatus_profile extends Memcached_DataObject
         $temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
         try {
             if (!copy($url, $temp_filename)) {
+                // TRANS: Server exception. %s is a URL.
                 throw new ServerException(sprintf(_m("Unable to fetch avatar from %s."), $url));
             }
 
@@ -1337,7 +1345,7 @@ class Ostatus_profile extends Memcached_DataObject
 
             $oprofile->profile_id = $profile->insert();
             if (!$oprofile->profile_id) {
-            // TRANS: Exception.
+            // TRANS: Server exception.
                 throw new ServerException(_m('Can\'t save local profile.'));
             }
         } else {
@@ -1348,7 +1356,7 @@ class Ostatus_profile extends Memcached_DataObject
 
             $oprofile->group_id = $group->insert();
             if (!$oprofile->group_id) {
-                // TRANS: Exception.
+                // TRANS: Server exception.
                 throw new ServerException(_m('Can\'t save local profile.'));
             }
         }
@@ -1356,7 +1364,7 @@ class Ostatus_profile extends Memcached_DataObject
         $ok = $oprofile->insert();
 
         if (!$ok) {
-            // TRANS: Exception.
+            // TRANS: Server exception.
             throw new ServerException(_m('Can\'t save OStatus profile.'));
         }
 
@@ -1795,6 +1803,7 @@ class Ostatus_profile extends Memcached_DataObject
 
         if ($file_id === false) {
             common_log_db_error($file, "INSERT", __FILE__);
+            // TRANS: Server exception.
             throw new ServerException(_m('Could not store HTML content of long post as file.'));
         }
 
index 2473e730fafbea15f1311b0319f2c6f826d012fa..745a87c98f2c1a55a8de7a4a040f1af84758af00 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
+"POT-Creation-Date: 2010-11-02 22:51+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"
@@ -119,13 +119,13 @@ msgstr ""
 msgid "Attempting to end PuSH subscription for feed with no hub."
 msgstr ""
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:192
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
 msgstr ""
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:195
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
@@ -145,105 +145,113 @@ msgid ""
 "Activity entry."
 msgstr ""
 
-#: classes/Ostatus_profile.php:408
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:409
 msgid "Unknown feed format."
 msgstr ""
 
-#: classes/Ostatus_profile.php:431
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:433
 msgid "RSS feed without a channel."
 msgstr ""
 
 #. TRANS: Client exception.
-#: classes/Ostatus_profile.php:476
+#: classes/Ostatus_profile.php:478
 msgid "Can't handle that kind of post."
 msgstr ""
 
-#. TRANS: Client exception. %s is a source URL.
-#: classes/Ostatus_profile.php:559
+#. TRANS: Client exception. %s is a source URI.
+#: classes/Ostatus_profile.php:561
 #, 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:592
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
+#: classes/Ostatus_profile.php:596
 msgid "Show more"
 msgstr ""
 
 #. TRANS: Exception. %s is a profile URL.
-#: classes/Ostatus_profile.php:785
+#: classes/Ostatus_profile.php:789
 #, php-format
 msgid "Could not reach profile page %s."
 msgstr ""
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:843
+#. TRANS: Exception. %s is a URL.
+#: classes/Ostatus_profile.php:847
 #, php-format
 msgid "Could not find a feed URL for profile page %s."
 msgstr ""
 
-#: classes/Ostatus_profile.php:980
+#. TRANS: Feed sub exception.
+#: classes/Ostatus_profile.php:985
 msgid "Can't find enough profile information to make a feed."
 msgstr ""
 
-#: classes/Ostatus_profile.php:1039
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1045
 #, php-format
 msgid "Invalid avatar URL %s."
 msgstr ""
 
-#: classes/Ostatus_profile.php:1049
+#. TRANS: Server exception. %s is a URI.
+#: classes/Ostatus_profile.php:1056
 #, php-format
 msgid "Tried to update avatar for unsaved remote profile %s."
 msgstr ""
 
-#: classes/Ostatus_profile.php:1058
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1066
 #, php-format
 msgid "Unable to fetch avatar from %s."
 msgstr ""
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1284
+#: classes/Ostatus_profile.php:1292
 msgid "Local user can't be referenced as remote."
 msgstr ""
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1289
+#: classes/Ostatus_profile.php:1297
 msgid "Local group can't be referenced as remote."
 msgstr ""
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1341 classes/Ostatus_profile.php:1352
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
 msgid "Can't save local profile."
 msgstr ""
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1360
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1368
 msgid "Can't save OStatus profile."
 msgstr ""
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1619 classes/Ostatus_profile.php:1647
+#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655
 msgid "Not a valid webfinger address."
 msgstr ""
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1729
+#: classes/Ostatus_profile.php:1737
 #, php-format
 msgid "Couldn't save profile for \"%s\"."
 msgstr ""
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1748
+#: classes/Ostatus_profile.php:1756
 #, php-format
 msgid "Couldn't save ostatus_profile for \"%s\"."
 msgstr ""
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1756
+#: classes/Ostatus_profile.php:1764
 #, php-format
 msgid "Couldn't find a valid profile for \"%s\"."
 msgstr ""
 
-#: classes/Ostatus_profile.php:1798
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1807
 msgid "Could not store HTML content of long post as file."
 msgstr ""
 
index b0ef34b6b99b1fe037758740e268c184e2562f16..2d0a49c31a7474aac4e68a27794b161410725df7 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - OStatus\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:14+0000\n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:51+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:00:35+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -131,7 +131,7 @@ msgstr ""
 "Tente d’arrêter l’inscription PuSH à un flux d’information sans "
 "concentrateur."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:192
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
@@ -139,7 +139,7 @@ msgstr ""
 "État invalide du profil OStatus : identifiants à la fois de groupe et de "
 "profil définis pour « %s »."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:195
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
@@ -163,111 +163,119 @@ msgstr ""
 "Type invalide passé à la méthode « Ostatus_profile::notify ». Ce doit être "
 "une chaîne XML ou une entrée « Activity »."
 
-#: classes/Ostatus_profile.php:408
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:409
 msgid "Unknown feed format."
 msgstr "Format de flux d’information inconnu."
 
-#: classes/Ostatus_profile.php:431
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:433
 msgid "RSS feed without a channel."
 msgstr "Flux RSS sans canal."
 
 #. TRANS: Client exception.
-#: classes/Ostatus_profile.php:476
+#: classes/Ostatus_profile.php:478
 msgid "Can't handle that kind of post."
 msgstr "Impossible de gérer cette sorte de publication."
 
-#. TRANS: Client exception. %s is a source URL.
-#: classes/Ostatus_profile.php:559
+#. TRANS: Client exception. %s is a source URI.
+#: classes/Ostatus_profile.php:561
 #, php-format
 msgid "No content for notice %s."
 msgstr "Aucun contenu dans l’avis « %s »."
 
-#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
-#: classes/Ostatus_profile.php:592
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
+#: classes/Ostatus_profile.php:596
 msgid "Show more"
 msgstr "Voir davantage"
 
 #. TRANS: Exception. %s is a profile URL.
-#: classes/Ostatus_profile.php:785
+#: classes/Ostatus_profile.php:789
 #, php-format
 msgid "Could not reach profile page %s."
 msgstr "Impossible d’atteindre la page de profil « %s »."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:843
+#. TRANS: Exception. %s is a URL.
+#: classes/Ostatus_profile.php:847
 #, php-format
 msgid "Could not find a feed URL for profile page %s."
 msgstr ""
 "Impossible de trouver une adresse URL de flux d’information pour la page de "
 "profil « %s »."
 
-#: classes/Ostatus_profile.php:980
+#. TRANS: Feed sub exception.
+#: classes/Ostatus_profile.php:985
 msgid "Can't find enough profile information to make a feed."
 msgstr ""
 "Impossible de trouver assez d’informations de profil pour créer un flux "
 "d’information."
 
-#: classes/Ostatus_profile.php:1039
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1045
 #, php-format
 msgid "Invalid avatar URL %s."
 msgstr "Adresse URL d’avatar « %s » invalide."
 
-#: classes/Ostatus_profile.php:1049
+#. TRANS: Server exception. %s is a URI.
+#: classes/Ostatus_profile.php:1056
 #, php-format
 msgid "Tried to update avatar for unsaved remote profile %s."
 msgstr ""
 "Tente de mettre à jour l’avatar associé au profil distant non sauvegardé « %s "
 "»."
 
-#: classes/Ostatus_profile.php:1058
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1066
 #, php-format
 msgid "Unable to fetch avatar from %s."
 msgstr "Impossible de récupérer l’avatar depuis « %s »."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1284
+#: classes/Ostatus_profile.php:1292
 msgid "Local user can't be referenced as remote."
 msgstr "L’utilisateur local ne peut être référencé comme distant."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1289
+#: classes/Ostatus_profile.php:1297
 msgid "Local group can't be referenced as remote."
 msgstr "Le groupe local ne peut être référencé comme distant."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1341 classes/Ostatus_profile.php:1352
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
 msgid "Can't save local profile."
 msgstr "Impossible de sauvegarder le profil local."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1360
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1368
 msgid "Can't save OStatus profile."
 msgstr "Impossible de sauvegarder le profil OStatus."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1619 classes/Ostatus_profile.php:1647
+#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655
 msgid "Not a valid webfinger address."
 msgstr "Ce n’est pas une adresse « webfinger » valide."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1729
+#: classes/Ostatus_profile.php:1737
 #, php-format
 msgid "Couldn't save profile for \"%s\"."
 msgstr "Impossible de sauvegarder le profil pour « %s »."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1748
+#: classes/Ostatus_profile.php:1756
 #, php-format
 msgid "Couldn't save ostatus_profile for \"%s\"."
 msgstr "Impossible d’enregistrer le profil OStatus pour « %s »."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1756
+#: classes/Ostatus_profile.php:1764
 #, php-format
 msgid "Couldn't find a valid profile for \"%s\"."
 msgstr "Impossible de trouver un profil valide pour « %s »."
 
-#: classes/Ostatus_profile.php:1798
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1807
 msgid "Could not store HTML content of long post as file."
 msgstr ""
 "Impossible de stocker le contenu HTML d’une longue publication en un fichier."
index fdeba50c2f53e6000b61214b20682cad0dcc9985..f2f322de0bc78937c80a3c684de7ea0749c81770 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - OStatus\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:15+0000\n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:51+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:00:35+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -126,14 +126,14 @@ msgstr "Tentativa de comenciar subscription PuSH pro syndication sin centro."
 msgid "Attempting to end PuSH subscription for feed with no hub."
 msgstr "Tentativa de terminar subscription PuSH pro syndication sin centro."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:192
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
 msgstr ""
 "Stato ostatus_profile invalide: IDs e de gruppo e de profilo definite pro %s."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:195
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
@@ -156,106 +156,114 @@ msgstr ""
 "Typo invalide passate a Ostatos_profile::notify. Illo debe esser catena XML "
 "o entrata Activity."
 
-#: classes/Ostatus_profile.php:408
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:409
 msgid "Unknown feed format."
 msgstr "Formato de syndication incognite."
 
-#: classes/Ostatus_profile.php:431
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:433
 msgid "RSS feed without a channel."
 msgstr "Syndication RSS sin canal."
 
 #. TRANS: Client exception.
-#: classes/Ostatus_profile.php:476
+#: classes/Ostatus_profile.php:478
 msgid "Can't handle that kind of post."
 msgstr "Non pote tractar iste typo de message."
 
-#. TRANS: Client exception. %s is a source URL.
-#: classes/Ostatus_profile.php:559
+#. TRANS: Client exception. %s is a source URI.
+#: classes/Ostatus_profile.php:561
 #, php-format
 msgid "No content for notice %s."
 msgstr "Nulle contento pro nota %s."
 
-#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
-#: classes/Ostatus_profile.php:592
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
+#: classes/Ostatus_profile.php:596
 msgid "Show more"
 msgstr "Monstrar plus"
 
 #. TRANS: Exception. %s is a profile URL.
-#: classes/Ostatus_profile.php:785
+#: classes/Ostatus_profile.php:789
 #, php-format
 msgid "Could not reach profile page %s."
 msgstr "Non poteva attinger pagina de profilo %s."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:843
+#. TRANS: Exception. %s is a URL.
+#: classes/Ostatus_profile.php:847
 #, php-format
 msgid "Could not find a feed URL for profile page %s."
 msgstr "Non poteva trovar un URL de syndication pro pagina de profilo %s."
 
-#: classes/Ostatus_profile.php:980
+#. TRANS: Feed sub exception.
+#: classes/Ostatus_profile.php:985
 msgid "Can't find enough profile information to make a feed."
 msgstr ""
 "Non pote trovar satis de information de profilo pro facer un syndication."
 
-#: classes/Ostatus_profile.php:1039
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1045
 #, php-format
 msgid "Invalid avatar URL %s."
 msgstr "URL de avatar %s invalide."
 
-#: classes/Ostatus_profile.php:1049
+#. TRANS: Server exception. %s is a URI.
+#: classes/Ostatus_profile.php:1056
 #, php-format
 msgid "Tried to update avatar for unsaved remote profile %s."
 msgstr "Tentava actualisar avatar pro profilo remote non salveguardate %s."
 
-#: classes/Ostatus_profile.php:1058
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1066
 #, php-format
 msgid "Unable to fetch avatar from %s."
 msgstr "Incapace de obtener avatar ab %s."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1284
+#: classes/Ostatus_profile.php:1292
 msgid "Local user can't be referenced as remote."
 msgstr "Usator local non pote esser referentiate como remote."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1289
+#: classes/Ostatus_profile.php:1297
 msgid "Local group can't be referenced as remote."
 msgstr "Gruppo local non pote esser referentiate como remote."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1341 classes/Ostatus_profile.php:1352
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
 msgid "Can't save local profile."
 msgstr "Non pote salveguardar profilo local."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1360
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1368
 msgid "Can't save OStatus profile."
 msgstr "Non pote salveguardar profilo OStatus."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1619 classes/Ostatus_profile.php:1647
+#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655
 msgid "Not a valid webfinger address."
 msgstr "Adresse webfinger invalide."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1729
+#: classes/Ostatus_profile.php:1737
 #, php-format
 msgid "Couldn't save profile for \"%s\"."
 msgstr "Non poteva salveguardar profilo pro \"%s\"."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1748
+#: classes/Ostatus_profile.php:1756
 #, php-format
 msgid "Couldn't save ostatus_profile for \"%s\"."
 msgstr "Non poteva salveguardar osatus_profile pro %s."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1756
+#: classes/Ostatus_profile.php:1764
 #, php-format
 msgid "Couldn't find a valid profile for \"%s\"."
 msgstr "Non poteva trovar un profilo valide pro \"%s\"."
 
-#: classes/Ostatus_profile.php:1798
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1807
 msgid "Could not store HTML content of long post as file."
 msgstr "Non poteva immagazinar contento HTML de longe message como file."
 
index 44baf29eefb51e5546053a04ae5df76b025bbcb7..fe2cb7e109de1923e2dad04914ca200b0e1a8c4d 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - OStatus\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:15+0000\n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:51+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:00:35+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -127,7 +127,7 @@ msgid "Attempting to end PuSH subscription for feed with no hub."
 msgstr ""
 "Се обидувам да ставам крај на PuSH-претплатата за емитување без средиште."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:192
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
@@ -135,7 +135,7 @@ msgstr ""
 "Неважечка ostatus_profile-состојба: назнаките (ID) на групата и профилот се "
 "наместени за %s."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:195
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
@@ -159,106 +159,114 @@ msgstr ""
 "На Ostatus_profile::notify е пренесен неважечки тип. Мора да биде XML-низа "
 "или ставка во Activity."
 
-#: classes/Ostatus_profile.php:408
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:409
 msgid "Unknown feed format."
 msgstr "Непознат формат на каналско емитување."
 
-#: classes/Ostatus_profile.php:431
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:433
 msgid "RSS feed without a channel."
 msgstr "RSS-емитување без канал."
 
 #. TRANS: Client exception.
-#: classes/Ostatus_profile.php:476
+#: classes/Ostatus_profile.php:478
 msgid "Can't handle that kind of post."
 msgstr "Не можам да работам со таква објава."
 
-#. TRANS: Client exception. %s is a source URL.
-#: classes/Ostatus_profile.php:559
+#. TRANS: Client exception. %s is a source URI.
+#: classes/Ostatus_profile.php:561
 #, php-format
 msgid "No content for notice %s."
 msgstr "Нема содржина за забелешката %s."
 
-#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
-#: classes/Ostatus_profile.php:592
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
+#: classes/Ostatus_profile.php:596
 msgid "Show more"
 msgstr "Повеќе"
 
 #. TRANS: Exception. %s is a profile URL.
-#: classes/Ostatus_profile.php:785
+#: classes/Ostatus_profile.php:789
 #, php-format
 msgid "Could not reach profile page %s."
 msgstr "Не можев да ја добијам профилната страница %s."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:843
+#. TRANS: Exception. %s is a URL.
+#: classes/Ostatus_profile.php:847
 #, php-format
 msgid "Could not find a feed URL for profile page %s."
 msgstr "Не можев да пронајдам каналска URL-адреса за профилната страница %s."
 
-#: classes/Ostatus_profile.php:980
+#. TRANS: Feed sub exception.
+#: classes/Ostatus_profile.php:985
 msgid "Can't find enough profile information to make a feed."
 msgstr "Не можев да најдам доволно профилни податоци за да направам канал."
 
-#: classes/Ostatus_profile.php:1039
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1045
 #, php-format
 msgid "Invalid avatar URL %s."
 msgstr "Неважечка URL-адреса за аватарот: %s."
 
-#: classes/Ostatus_profile.php:1049
+#. TRANS: Server exception. %s is a URI.
+#: classes/Ostatus_profile.php:1056
 #, php-format
 msgid "Tried to update avatar for unsaved remote profile %s."
 msgstr ""
 "Се обидов да го подновам аватарот за незачуваниот далечински профил %s."
 
-#: classes/Ostatus_profile.php:1058
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1066
 #, php-format
 msgid "Unable to fetch avatar from %s."
 msgstr "Не можам да го добијам аватарот од %s."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1284
+#: classes/Ostatus_profile.php:1292
 msgid "Local user can't be referenced as remote."
 msgstr "Локалниот корисник не може да се наведе како далечински."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1289
+#: classes/Ostatus_profile.php:1297
 msgid "Local group can't be referenced as remote."
 msgstr "Локалната група не може да се наведе како далечинска."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1341 classes/Ostatus_profile.php:1352
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
 msgid "Can't save local profile."
 msgstr "Не можам да го зачувам локалниот профил."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1360
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1368
 msgid "Can't save OStatus profile."
 msgstr "Не можам да го зачувам профилот од OStatus."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1619 classes/Ostatus_profile.php:1647
+#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655
 msgid "Not a valid webfinger address."
 msgstr "Ова не е важечка Webfinger-адреса"
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1729
+#: classes/Ostatus_profile.php:1737
 #, php-format
 msgid "Couldn't save profile for \"%s\"."
 msgstr "Не можам да го зачувам профилот за „%s“."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1748
+#: classes/Ostatus_profile.php:1756
 #, php-format
 msgid "Couldn't save ostatus_profile for \"%s\"."
 msgstr "Не можам да го зачувам ostatus_profile за „%s“."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1756
+#: classes/Ostatus_profile.php:1764
 #, php-format
 msgid "Couldn't find a valid profile for \"%s\"."
 msgstr "Не можев да пронајдам важечки профил за „%s“."
 
-#: classes/Ostatus_profile.php:1798
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1807
 msgid "Could not store HTML content of long post as file."
 msgstr ""
 "Не можам да ја складирам HTML-содржината на долгата објава како податотека."
index 7ffad8df9b76dcf61f8a1316c0e010bf7c99fc97..d37b8cb01ae4d5fa12b06acf81743f327bffa128 100644 (file)
@@ -10,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - OStatus\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:16+0000\n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:51+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:00:35+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -133,7 +133,7 @@ msgid "Attempting to end PuSH subscription for feed with no hub."
 msgstr ""
 "Aan het proberen een PuSH-abonnement te verwijderen voor een feed zonder hub."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:192
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
@@ -141,7 +141,7 @@ msgstr ""
 "Ongeldige ostatus_profile status: het ID voor zowel de groep als het profiel "
 "voor %s is ingesteld."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:195
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
@@ -165,112 +165,120 @@ msgstr ""
 "Ongeldig type doorgegeven aan Ostatus_profile::notify. Het moet een XML-"
 "string of Activity zijn."
 
-#: classes/Ostatus_profile.php:408
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:409
 msgid "Unknown feed format."
 msgstr "Onbekend feedformaat"
 
-#: classes/Ostatus_profile.php:431
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:433
 msgid "RSS feed without a channel."
 msgstr "RSS-feed zonder kanaal."
 
 #. TRANS: Client exception.
-#: classes/Ostatus_profile.php:476
+#: classes/Ostatus_profile.php:478
 msgid "Can't handle that kind of post."
 msgstr "Dat type post kan niet verwerkt worden."
 
-#. TRANS: Client exception. %s is a source URL.
-#: classes/Ostatus_profile.php:559
+#. TRANS: Client exception. %s is a source URI.
+#: classes/Ostatus_profile.php:561
 #, php-format
 msgid "No content for notice %s."
 msgstr "Geen inhoud voor mededeling %s."
 
-#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
-#: classes/Ostatus_profile.php:592
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
+#: classes/Ostatus_profile.php:596
 msgid "Show more"
 msgstr "Meer weergeven"
 
 #. TRANS: Exception. %s is a profile URL.
-#: classes/Ostatus_profile.php:785
+#: classes/Ostatus_profile.php:789
 #, php-format
 msgid "Could not reach profile page %s."
 msgstr "Het was niet mogelijk de profielpagina %s te bereiken."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:843
+#. TRANS: Exception. %s is a URL.
+#: classes/Ostatus_profile.php:847
 #, php-format
 msgid "Could not find a feed URL for profile page %s."
 msgstr "Het was niet mogelijk de feed-URL voor de profielpagina %s te vinden."
 
-#: classes/Ostatus_profile.php:980
+#. TRANS: Feed sub exception.
+#: classes/Ostatus_profile.php:985
 msgid "Can't find enough profile information to make a feed."
 msgstr ""
 "Het was niet mogelijk voldoende profielinformatie te vinden om een feed te "
 "maken."
 
-#: classes/Ostatus_profile.php:1039
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1045
 #, php-format
 msgid "Invalid avatar URL %s."
 msgstr "Ongeldige avatar-URL %s."
 
-#: classes/Ostatus_profile.php:1049
+#. TRANS: Server exception. %s is a URI.
+#: classes/Ostatus_profile.php:1056
 #, php-format
 msgid "Tried to update avatar for unsaved remote profile %s."
 msgstr ""
 "Geprobeerd om een avatar bij te werken voor het niet opgeslagen profiel %s."
 
-#: classes/Ostatus_profile.php:1058
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1066
 #, php-format
 msgid "Unable to fetch avatar from %s."
 msgstr "Het was niet mogelijk de avatar op te halen van %s."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1284
+#: classes/Ostatus_profile.php:1292
 msgid "Local user can't be referenced as remote."
 msgstr ""
 "Naar een lokale gebruiker kan niet verwezen worden alsof die zich bij een "
 "andere dienst bevindt."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1289
+#: classes/Ostatus_profile.php:1297
 msgid "Local group can't be referenced as remote."
 msgstr ""
 "Naar een lokale groep kan niet verwezen worden alsof die zich bij een andere "
 "dienst bevindt."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1341 classes/Ostatus_profile.php:1352
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
 msgid "Can't save local profile."
 msgstr "Het was niet mogelijk het lokale profiel op te slaan."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1360
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1368
 msgid "Can't save OStatus profile."
 msgstr "Het was niet mogelijk het Ostatusprofiel op te slaan."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1619 classes/Ostatus_profile.php:1647
+#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655
 msgid "Not a valid webfinger address."
 msgstr "Geen geldig webfingeradres."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1729
+#: classes/Ostatus_profile.php:1737
 #, php-format
 msgid "Couldn't save profile for \"%s\"."
 msgstr "Het was niet mogelijk het profiel voor \"%s\" op te slaan."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1748
+#: classes/Ostatus_profile.php:1756
 #, php-format
 msgid "Couldn't save ostatus_profile for \"%s\"."
 msgstr "Het was niet mogelijk het ostatus_profile voor \"%s\" op te slaan."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1756
+#: classes/Ostatus_profile.php:1764
 #, php-format
 msgid "Couldn't find a valid profile for \"%s\"."
 msgstr "Er is geen geldig profiel voor \"%s\" gevonden."
 
-#: classes/Ostatus_profile.php:1798
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1807
 msgid "Could not store HTML content of long post as file."
 msgstr ""
 "Het was niet mogelijk de HTML-inhoud van het lange bericht als bestand op te "
index 7d3ffb80f536615c9d3a53d224ed5d7431157fd9..88ba205b135edc3a2e8c1b68aa446d1abdcc64b0 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - OStatus\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:17+0000\n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:51+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:00:35+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-plugin-ostatus\n"
@@ -130,7 +130,7 @@ msgstr ""
 "Спроба скасувати підписку за допомогою PuSH до веб-стрічки, котра не має "
 "вузла."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:192
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
@@ -138,7 +138,7 @@ msgstr ""
 "Невірний стан параметру ostatus_profile: як групові, так і персональні "
 "ідентифікатори встановлено для %s."
 
-#. TRANS: Server exception.
+#. TRANS: Server exception. %s is a URI.
 #: classes/Ostatus_profile.php:195
 #, php-format
 msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
@@ -162,106 +162,114 @@ msgstr ""
 "До параметру Ostatus_profile::notify передано невірний тип. Це має бути або "
 "рядок у форматі XML, або запис активності."
 
-#: classes/Ostatus_profile.php:408
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:409
 msgid "Unknown feed format."
 msgstr "Невідомий формат веб-стрічки."
 
-#: classes/Ostatus_profile.php:431
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:433
 msgid "RSS feed without a channel."
 msgstr "RSS-стрічка не має каналу."
 
 #. TRANS: Client exception.
-#: classes/Ostatus_profile.php:476
+#: classes/Ostatus_profile.php:478
 msgid "Can't handle that kind of post."
 msgstr "Не вдається обробити такий тип допису."
 
-#. TRANS: Client exception. %s is a source URL.
-#: classes/Ostatus_profile.php:559
+#. TRANS: Client exception. %s is a source URI.
+#: classes/Ostatus_profile.php:561
 #, php-format
 msgid "No content for notice %s."
 msgstr "Допис %s не має змісту."
 
-#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
-#: classes/Ostatus_profile.php:592
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime
+#. TRANS: this will usually be replaced with localised text from StatusNet core messages.
+#: classes/Ostatus_profile.php:596
 msgid "Show more"
 msgstr "Розгорнути"
 
 #. TRANS: Exception. %s is a profile URL.
-#: classes/Ostatus_profile.php:785
+#: classes/Ostatus_profile.php:789
 #, php-format
 msgid "Could not reach profile page %s."
 msgstr "Не вдалося досягти сторінки профілю %s."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:843
+#. TRANS: Exception. %s is a URL.
+#: classes/Ostatus_profile.php:847
 #, php-format
 msgid "Could not find a feed URL for profile page %s."
 msgstr "Не вдалося знайти URL веб-стрічки для сторінки профілю %s."
 
-#: classes/Ostatus_profile.php:980
+#. TRANS: Feed sub exception.
+#: classes/Ostatus_profile.php:985
 msgid "Can't find enough profile information to make a feed."
 msgstr ""
 "Не можу знайти достатньо інформації про профіль, аби сформувати веб-стрічку."
 
-#: classes/Ostatus_profile.php:1039
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1045
 #, php-format
 msgid "Invalid avatar URL %s."
 msgstr "Невірна URL-адреса аватари %s."
 
-#: classes/Ostatus_profile.php:1049
+#. TRANS: Server exception. %s is a URI.
+#: classes/Ostatus_profile.php:1056
 #, php-format
 msgid "Tried to update avatar for unsaved remote profile %s."
 msgstr "Намагаюся оновити аватару для не збереженого віддаленого профілю %s."
 
-#: classes/Ostatus_profile.php:1058
+#. TRANS: Server exception. %s is a URL.
+#: classes/Ostatus_profile.php:1066
 #, php-format
 msgid "Unable to fetch avatar from %s."
 msgstr "Неможливо завантажити аватару з %s."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1284
+#: classes/Ostatus_profile.php:1292
 msgid "Local user can't be referenced as remote."
 msgstr "Місцевий користувач не може бути зазначеним у якості віддаленого."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1289
+#: classes/Ostatus_profile.php:1297
 msgid "Local group can't be referenced as remote."
 msgstr "Локальну спільноту не можна зазначити у якості віддаленої."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1341 classes/Ostatus_profile.php:1352
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360
 msgid "Can't save local profile."
 msgstr "Не вдається зберегти місцевий профіль."
 
-#. TRANS: Exception.
-#: classes/Ostatus_profile.php:1360
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1368
 msgid "Can't save OStatus profile."
 msgstr "Не вдається зберегти профіль OStatus."
 
 #. TRANS: Exception.
-#: classes/Ostatus_profile.php:1619 classes/Ostatus_profile.php:1647
+#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655
 msgid "Not a valid webfinger address."
 msgstr "Це недійсна адреса для протоколу WebFinger."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1729
+#: classes/Ostatus_profile.php:1737
 #, php-format
 msgid "Couldn't save profile for \"%s\"."
 msgstr "Не можу зберегти профіль для «%s»."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1748
+#: classes/Ostatus_profile.php:1756
 #, php-format
 msgid "Couldn't save ostatus_profile for \"%s\"."
 msgstr "Не можу зберегти профіль OStatus для «%s»."
 
 #. TRANS: Exception. %s is a webfinger address.
-#: classes/Ostatus_profile.php:1756
+#: classes/Ostatus_profile.php:1764
 #, php-format
 msgid "Couldn't find a valid profile for \"%s\"."
 msgstr "не можу знайти відповідний й профіль для «%s»."
 
-#: classes/Ostatus_profile.php:1798
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:1807
 msgid "Could not store HTML content of long post as file."
 msgstr "Не можу зберегти HTML місткого допису у якості файлу."
 
diff --git a/plugins/OpenX/locale/br/LC_MESSAGES/OpenX.po b/plugins/OpenX/locale/br/LC_MESSAGES/OpenX.po
new file mode 100644 (file)
index 0000000..c0f138f
--- /dev/null
@@ -0,0 +1,109 @@
+# Translation of StatusNet - OpenX to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenX\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:45+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:13:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-openx\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: OpenXPlugin.php:201
+msgid "OpenX configuration"
+msgstr "Kefluniadur OpenX"
+
+#. TRANS: Menu item for site administration
+#: OpenXPlugin.php:203
+msgid "OpenX"
+msgstr "OpenX"
+
+#. TRANS: Plugin description.
+#: OpenXPlugin.php:224
+msgid "Plugin for <a href=\"http://www.openx.org/\">OpenX Ad Server</a>."
+msgstr ""
+
+#. TRANS: Page title for OpenX admin panel.
+#: openxadminpanel.php:53
+msgctxt "TITLE"
+msgid "OpenX"
+msgstr "OpenX"
+
+#. TRANS: Instructions for OpenX admin panel.
+#: openxadminpanel.php:64
+msgid "OpenX settings for this StatusNet site"
+msgstr "Arventennoù OpenX evit al lec'hienn StatusNet-mañ."
+
+#. TRANS: Form label in OpenX admin panel.
+#: openxadminpanel.php:167
+msgid "Ad script URL"
+msgstr ""
+
+#. TRANS: Tooltip for form label in OpenX admin panel.
+#: openxadminpanel.php:169
+msgid "Script URL"
+msgstr ""
+
+#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:175
+msgid "Medium rectangle"
+msgstr ""
+
+#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:177
+msgid "Medium rectangle zone"
+msgstr ""
+
+#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:183
+msgid "Rectangle"
+msgstr "Skouergornek"
+
+#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:185
+msgid "Rectangle zone"
+msgstr ""
+
+#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:191
+msgid "Leaderboard"
+msgstr ""
+
+#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:193
+msgid "Leaderboard zone"
+msgstr ""
+
+#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:199
+msgid "Skyscraper"
+msgstr "Giton a-serzh"
+
+#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
+#: openxadminpanel.php:201
+msgid "Wide skyscraper zone"
+msgstr ""
+
+#. TRANS: Submit button text in OpenX admin panel.
+#: openxadminpanel.php:216
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Enrollañ"
+
+#. TRANS: Submit button title in OpenX admin panel.
+#: openxadminpanel.php:220
+msgid "Save OpenX settings"
+msgstr ""
index 99c79cfab541d8b5b5e2076321d6c8f35eb90883..9b36d87f3795b8c27084b10e2020274f40059a5b 100644 (file)
@@ -5,6 +5,6 @@
 * Pause ~ retain up to 50-100 most recent notices
 * Add geo data
 * Make it work for Conversation page (perhaps a little tricky)
-* IE is updating the counter in document title all the time (Not sure if this is still an issue)
+* IE is updating the counter in document title all the time (Not sure if this
+  is still an issue)
 * Reconsider the timestamp approach
-
index 352afcf7853ff4a76eb3fb858954ebc22f3bcfa4..99d1ff9c102d161be154e2a2cd2b88c07ebd81cb 100644 (file)
@@ -43,7 +43,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 RealtimePlugin extends Plugin
 {
     protected $replyurl = null;
@@ -326,6 +325,32 @@ class RealtimePlugin extends Plugin
         return array('plugins/Realtime/realtimeupdate.js');
     }
 
+    /**
+     * Export any i18n messages that need to be loaded at runtime...
+     *
+     * @param Action $action
+     * @param array $messages
+     *
+     * @return boolean hook return value
+     */
+    function onEndScriptMessages($action, &$messages)
+    {
+        // TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+        $messages['realtime_play'] = _m('BUTTON', 'Play');
+        // TRANS: Tooltip for realtime view "play" button.
+        $messages['realtime_play_tooltip'] = _m('TOOLTIP', 'Play');
+        // TRANS: Text label for realtime view "pause" button
+        $messages['realtime_pause'] = _m('BUTTON', 'Pause');
+        // TRANS: Tooltip for realtime view "pause" button
+        $messages['realtime_pause_tooltip'] = _m('TOOLTIP', 'Pause');
+        // TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+        $messages['realtime_popup'] = _m('BUTTON', 'Pop up');
+        // TRANS: Tooltip for realtime view "popup" button.
+        $messages['realtime_popup_tooltip'] = _m('TOOLTIP', 'Pop up in a window');
+
+        return true;
+    }
+
     function _updateInitialize($timeline, $user_id)
     {
         return "RealtimeUpdate.init($user_id, \"$this->replyurl\", \"$this->favorurl\", \"$this->repeaturl\", \"$this->deleteurl\"); ";
diff --git a/plugins/Realtime/locale/Realtime.pot b/plugins/Realtime/locale/Realtime.pot
new file mode 100644 (file)
index 0000000..e491ce0
--- /dev/null
@@ -0,0 +1,53 @@
+# 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-11-02 19:46+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"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr ""
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr ""
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr ""
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr ""
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr ""
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr ""
diff --git a/plugins/Realtime/locale/af/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/af/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..81614a2
--- /dev/null
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Realtime to Afrikaans (Afrikaans)
+# Expored from translatewiki.net
+#
+# Author: Naudefj
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:59+0000\n"
+"Language-Team: Afrikaans <http://translatewiki.net/wiki/Portal:af>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-05 00:29:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: af\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Speel"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Speel"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Wag"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Wag"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr "Pop-up"
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr "Wys in 'n venstertjie"
diff --git a/plugins/Realtime/locale/br/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/br/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..d30b98e
--- /dev/null
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Realtime to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:59+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-05 00:29:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Lenn"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Lenn"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Ehan"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Ehan"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr ""
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr ""
diff --git a/plugins/Realtime/locale/ia/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/ia/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..94fdb4d
--- /dev/null
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Realtime to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:57+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-02 19:54:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Reproducer"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Reproducer"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Pausar"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Pausar"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr "Fenestra"
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr "Aperir le reproductor in un nove fenestra"
diff --git a/plugins/Realtime/locale/mk/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/mk/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..0b4024a
--- /dev/null
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Realtime to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:57+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-02 19:54:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Пушти"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Пушти"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Паузирај"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Паузирај"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr "Прозорче"
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr "Прикажи во прозорче"
diff --git a/plugins/Realtime/locale/nl/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/nl/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..ac5b2f4
--- /dev/null
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Realtime to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:54:57+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-02 19:54:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Afspelen"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Afspelen"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Pauzeren"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Pauzeren"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr "Pop-up"
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr "In nieuw venstertje weergeven"
diff --git a/plugins/Realtime/locale/tr/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/tr/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..fb23546
--- /dev/null
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Realtime to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:28:59+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-05 00:29:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Oynat"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Oynat"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Duraklat"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Duraklat"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr ""
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr ""
diff --git a/plugins/Realtime/locale/uk/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/uk/LC_MESSAGES/Realtime.po
new file mode 100644 (file)
index 0000000..f15b291
--- /dev/null
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Realtime to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Realtime\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:00+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-11-02 23:07:29+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-realtime\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Text label for realtime view "play" button, usually replaced by an icon.
+#: RealtimePlugin.php:339
+msgctxt "BUTTON"
+msgid "Play"
+msgstr "Оновлювати"
+
+#. TRANS: Tooltip for realtime view "play" button.
+#: RealtimePlugin.php:341
+msgctxt "TOOLTIP"
+msgid "Play"
+msgstr "Оновлювати"
+
+#. TRANS: Text label for realtime view "pause" button
+#: RealtimePlugin.php:343
+msgctxt "BUTTON"
+msgid "Pause"
+msgstr "Пауза"
+
+#. TRANS: Tooltip for realtime view "pause" button
+#: RealtimePlugin.php:345
+msgctxt "TOOLTIP"
+msgid "Pause"
+msgstr "Пауза"
+
+#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon.
+#: RealtimePlugin.php:347
+msgctxt "BUTTON"
+msgid "Pop up"
+msgstr "Окреме вікно"
+
+#. TRANS: Tooltip for realtime view "popup" button.
+#: RealtimePlugin.php:349
+msgctxt "TOOLTIP"
+msgid "Pop up in a window"
+msgstr "Стрічка окремим вікном"
index f43c97de52e71bb8053b18ffaf38ed70899a6e9b..b277b30a14e74369314bf2c4cead9d5c53fb4cfb 100644 (file)
@@ -35,7 +35,6 @@ width:70%;
 margin-left:1%;
 }
 
-
 #notices_primary {
 position:relative;
 }
@@ -75,4 +74,3 @@ line-height:1.2;
 #showstream #notices_primary {
 margin-top: 18px;
 }
-
index 25dc12d584617adc11eae223a6de2e17962696a4..f49cef95e6c50334cedbba8100289f108ad30e6d 100644 (file)
@@ -261,9 +261,10 @@ RealtimeUpdate = {
         RealtimeUpdate.addNoticesHover();
 
         $('#realtime_playpause').remove();
-        $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause" title="Pause">Pause</button></li>');
-
-        $('#realtime_pause').bind('click', function() {
+        $('#realtime_actions').prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause"></button></li>');
+        $('#realtime_pause').text(SN.msg('realtime_pause'))
+                            .attr('title', SN.msg('realtime_pause_tooltip'))
+                            .bind('click', function() {
             RealtimeUpdate.removeNoticesHover();
             RealtimeUpdate.showPlay();
             return false;
@@ -274,9 +275,10 @@ RealtimeUpdate = {
      {
         RealtimeUpdate.setPause(true);
         $('#realtime_playpause').remove();
-        $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play" title="Play">Play</button></li>');
-
-        $('#realtime_play').bind('click', function() {
+        $('#realtime_actions').prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play"></button></li>');
+        $('#realtime_play').text(SN.msg('realtime_play'))
+                           .attr('title', SN.msg('realtime_play_tooltip'))
+                           .bind('click', function() {
             RealtimeUpdate.showPause();
             return false;
         });
@@ -334,10 +336,11 @@ RealtimeUpdate = {
 
      initAddPopup: function(url, timeline, path)
      {
-         $('#realtime_timeline').append('<button id="realtime_popup" title="Pop up in a window">Pop up</button>');
-
-         $('#realtime_popup').bind('click', function() {
-             window.open(url,
+         $('#realtime_timeline').append('<button id="realtime_popup"></button>');
+         $('#realtime_popup').text(SN.msg('realtime_popup'))
+                             .attr('title', SN.msg('realtime_popup_tooltip'))
+                             .bind('click', function() {
+                window.open(url,
                          '',
                          'toolbar=no,resizable=yes,scrollbars=yes,status=no,menubar=no,personalbar=no,location=no,width=500,height=550');
 
index 2ac1405de0f1b57b62d66533b1f06fbb0c8462b6..0702b07c3f15dece0e24410836f8567af7630230 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Sample\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:31+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:05+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-20 17:58:22+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:01+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-plugin-sample\n"
@@ -26,14 +26,14 @@ msgstr ""
 #: User_greeting_count.php:164
 #, php-format
 msgid "Could not save new greeting count for %d."
-msgstr ""
+msgstr "Dibosupl eo enrollañ ar gont degemer nevez evit an implijer %d."
 
 #. 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."
-msgstr ""
+msgstr "Dibosupl eo inkremantañ ar gont degemer nevez evit an implijer %d."
 
 #: SamplePlugin.php:259 hello.php:111
 msgid "Hello"
@@ -41,11 +41,13 @@ msgstr "Demat"
 
 #: SamplePlugin.php:259
 msgid "A warm greeting"
-msgstr ""
+msgstr "Un degemer tomm"
 
 #: SamplePlugin.php:270
 msgid "A sample plugin to show basics of development for new hackers."
 msgstr ""
+"Ur skouer a lugant evit diskouez an diazezoù diorren evit ar c'hoderien "
+"nevez."
 
 #: hello.php:113
 #, php-format
@@ -65,5 +67,5 @@ msgstr "Demat, %s"
 #, php-format
 msgid "I have greeted you %d time."
 msgid_plural "I have greeted you %d times."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "ur"
+msgstr[1] "%d"
index 02dea72ee5c792db0ddc77f2effe4189cd8d5f46..73ebd322f90a3ef858622dc18486dbbc92915547 100644 (file)
@@ -2,6 +2,7 @@
 # Expored from translatewiki.net
 #
 # Author: Fulup
+# Author: Y-M D
 # --
 # This file is distributed under the same license as the StatusNet package.
 #
@@ -9,13 +10,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - Sitemap\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:40+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:07+0000\n"
 "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-18 20:34:11+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: br\n"
 "X-Message-Group: #out-statusnet-plugin-sitemap\n"
@@ -54,7 +55,7 @@ msgstr ""
 #. TRANS: Field label.
 #: sitemapadminpanel.php:183
 msgid "Bing key"
-msgstr ""
+msgstr "Alc'hwez Bing"
 
 #. TRANS: Title for field label.
 #: sitemapadminpanel.php:185
diff --git a/plugins/TabFocus/locale/br/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/br/LC_MESSAGES/TabFocus.po
new file mode 100644 (file)
index 0000000..b9b4548
--- /dev/null
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:11+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:14:08+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: 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 behavior of "
+"Twitter."
+msgstr ""
+"TabFocus a gemm emzalc'h ar furmskrid kemennoù evit ma vefe kaset ar fokus "
+"war ar bouton \"Kas\" pa bouezer war a stokell taolennata adalek ar zonenn "
+"testenn, ar pezh a glot gant emzalc'h Twitter."
index 097d4486f91c4d9d214ce2ef6118860237fa8221..f5c3612506c6627410dc4b48842bdd20b915cb89 100644 (file)
@@ -200,8 +200,15 @@ class TwitterBridgePlugin extends Plugin
             return false;
         case 'TwitterOAuthClient':
         case 'TwitterQueueHandler':
+        case 'TwitterImport':
+        case 'JsonStreamReader':
+        case 'TwitterStreamReader':
             include_once $dir . '/' . strtolower($cls) . '.php';
             return false;
+        case 'TwitterSiteStream':
+        case 'TwitterUserStream':
+            include_once $dir . '/twitterstreamreader.php';
+            return false;
         case 'Notice_to_status':
         case 'Twitter_synch_status':
             include_once $dir . '/' . $cls . '.php';
@@ -267,7 +274,11 @@ class TwitterBridgePlugin extends Plugin
     function onEndInitializeQueueManager($manager)
     {
         if (self::hasKeys()) {
+            // Outgoing notices -> twitter
             $manager->connect('twitter', 'TwitterQueueHandler');
+
+            // Incoming statuses <- twitter
+            $manager->connect('tweetin', 'TweetInQueueHandler');
         }
         return true;
     }
diff --git a/plugins/TwitterBridge/daemons/twitterdaemon.php b/plugins/TwitterBridge/daemons/twitterdaemon.php
new file mode 100644 (file)
index 0000000..d313d2d
--- /dev/null
@@ -0,0 +1,314 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008-2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
+
+$shortoptions = 'fi::a';
+$longoptions = array('id::', 'foreground', 'all');
+
+$helptext = <<<END_OF_XMPP_HELP
+Daemon script for receiving new notices from Twitter users.
+
+    -i --id           Identity (default none)
+    -a --all          Handle Twitter for all local sites
+                      (requires Stomp queue handler, status_network setup)
+    -f --foreground   Stay in the foreground (default background)
+
+END_OF_XMPP_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+require_once INSTALLDIR . '/lib/jabber.php';
+
+class TwitterDaemon extends SpawningDaemon
+{
+    protected $allsites = false;
+
+    function __construct($id=null, $daemonize=true, $threads=1, $allsites=false)
+    {
+        if ($threads != 1) {
+            // This should never happen. :)
+            throw new Exception("TwitterDaemon must run single-threaded");
+        }
+        parent::__construct($id, $daemonize, $threads);
+        $this->allsites = $allsites;
+    }
+
+    function runThread()
+    {
+        common_log(LOG_INFO, 'Waiting to listen to Twitter and queues');
+
+        $master = new TwitterMaster($this->get_id(), $this->processManager());
+        $master->init($this->allsites);
+        $master->service();
+
+        common_log(LOG_INFO, 'terminating normally');
+
+        return $master->respawn ? self::EXIT_RESTART : self::EXIT_SHUTDOWN;
+    }
+
+}
+
+class TwitterMaster extends IoMaster
+{
+    protected $processManager;
+
+    function __construct($id, $processManager)
+    {
+        parent::__construct($id);
+        $this->processManager = $processManager;
+    }
+
+    /**
+     * Initialize IoManagers for the currently configured site
+     * which are appropriate to this instance.
+     */
+    function initManagers()
+    {
+        $qm = QueueManager::get();
+        $qm->setActiveGroup('twitter');
+        $this->instantiate($qm);
+        $this->instantiate(new TwitterManager());
+        $this->instantiate($this->processManager);
+    }
+}
+
+
+class TwitterManager extends IoManager
+{
+    // Recommended resource limits from http://dev.twitter.com/pages/site_streams
+    const MAX_STREAMS = 1000;
+    const USERS_PER_STREAM = 100;
+    const STREAMS_PER_SECOND = 20;
+
+    protected $streams;
+    protected $users;
+
+    /**
+     * Pull the site's active Twitter-importing users and start spawning
+     * some data streams for them!
+     *
+     * @fixme check their last-id and check whether we'll need to do a manual pull.
+     * @fixme abstract out the fetching so we can work over multiple sites.
+     */
+    protected function initStreams()
+    {
+        common_log(LOG_INFO, 'init...');
+        // Pull Twitter user IDs for all users we want to pull data for
+        $flink = new Foreign_link();
+        $flink->service = TWITTER_SERVICE;
+        // @fixme probably should do the bitfield check in a whereAdd but it's ugly :D
+        $flink->find();
+
+        $userIds = array();
+        while ($flink->fetch()) {
+            if (($flink->noticesync & FOREIGN_NOTICE_RECV) ==
+                FOREIGN_NOTICE_RECV) {
+                $userIds[] = $flink->foreign_id;
+
+                if (count($userIds) >= self::USERS_PER_STREAM) {
+                    $this->spawnStream($userIds);
+                    $userIds = array();
+                }
+            }
+        }
+
+        if (count($userIds)) {
+            $this->spawnStream($userIds);
+        }
+    }
+
+    /**
+     * Prepare a Site Stream connection for the given chunk of users.
+     * The actual connection will be opened later.
+     *
+     * @param $userIds array of Twitter-side user IDs
+     */
+    protected function spawnStream($userIds)
+    {
+        $stream = $this->initSiteStream();
+        $stream->followUsers($userIds);
+
+        // Slip the stream reader into our list of active streams.
+        // We'll manage its actual connection on the next go-around.
+        $this->streams[] = $stream;
+
+        // Record the user->stream mappings; this makes it easier for us to know
+        // later if we need to kill something.
+        foreach ($userIds as $id) {
+            $this->users[$id] = $stream;
+        }
+    }
+
+    /**
+     * Initialize a generic site streams connection object.
+     * All our connections will look like this, then we'll add users to them.
+     *
+     * @return TwitterStreamReader
+     */
+    protected function initSiteStream()
+    {
+        $auth = $this->siteStreamAuth();
+        $stream = new TwitterSiteStream($auth);
+
+        // Add our event handler callbacks. Whee!
+        $this->setupEvents($stream);
+        return $stream;
+    }
+
+    /**
+     * Fetch the Twitter OAuth credentials to use to connect to the Site Streams API.
+     *
+     * This will use the locally-stored credentials for the applictation's owner account
+     * from the site configuration. These should be configured through the administration
+     * panels or manually in the config file.
+     *
+     * Will throw an exception if no credentials can be found -- but beware that invalid
+     * credentials won't cause breakage until later.
+     *
+     * @return TwitterOAuthClient
+     */
+    protected function siteStreamAuth()
+    {
+        $token = common_config('twitter', 'stream_token');
+        $secret = common_config('twitter', 'stream_secret');
+        if (empty($token) || empty($secret)) {
+            throw new ServerException('Twitter site streams have not been correctly configured. Configure the app owner account via the admin panel.');
+        }
+        return new TwitterOAuthClient($token, $secret);
+    }
+
+    /**
+     * Collect the sockets for all active connections for i/o monitoring.
+     *
+     * @return array of resources
+     */
+    public function getSockets()
+    {
+        $sockets = array();
+        foreach ($this->streams as $stream) {
+            foreach ($stream->getSockets() as $socket) {
+                $sockets[] = $socket;
+            }
+        }
+        return $sockets;
+    }
+
+    /**
+     * We're ready to process input from one of our data sources! Woooooo!
+     * @fixme is there an easier way to map from socket back to owning module? :(
+     *
+     * @param resource $socket
+     * @return boolean success
+     */
+    public function handleInput($socket)
+    {
+        foreach ($this->streams as $stream) {
+            foreach ($stream->getSockets() as $aSocket) {
+                if ($socket === $aSocket) {
+                    $stream->handleInput($socket);
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Start the i/o system up! Prepare our connections and start opening them.
+     *
+     * @fixme do some rate-limiting on the stream setup
+     * @fixme do some sensible backoff on failure etc
+     */
+    public function start()
+    {
+        $this->initStreams();
+        foreach ($this->streams as $stream) {
+            $stream->connect();
+        }
+        return true;
+    }
+
+    /**
+     * Close down our connections when the daemon wraps up for business.
+     */
+    public function finish()
+    {
+        foreach ($this->streams as $index => $stream) {
+            $stream->close();
+            unset($this->streams[$index]);
+        }
+        return true;
+    }
+
+    public static function get()
+    {
+        throw new Exception('not a singleton');
+    }
+
+    /**
+     * Set up event handlers on the streaming interface.
+     *
+     * @fixme add more event types as we add handling for them
+     */
+    protected function setupEvents(TwitterStreamReader $stream)
+    {
+        $handlers = array(
+            'status',
+        );
+        foreach ($handlers as $event) {
+            $stream->hookEvent($event, array($this, 'onTwitter' . ucfirst($event)));
+        }
+    }
+
+    /**
+     * Event callback notifying that a user has a new message in their home timeline.
+     * We store the incoming message into the queues for processing, keeping our own
+     * daemon running as shiny-fast as possible.
+     *
+     * @param object $status JSON data: Twitter status update
+     * @fixme in all-sites mode we may need to route queue items into another site's
+     *        destination queues, or multiple sites.
+     */
+    protected function onTwitterStatus($status, $context)
+    {
+        $data = array(
+            'status' => $status,
+            'for_user' => $context->for_user,
+        );
+        $qm = QueueManager::get();
+        $qm->enqueue($data, 'tweetin');
+    }
+}
+
+
+if (have_option('i', 'id')) {
+    $id = get_option_value('i', 'id');
+} else if (count($args) > 0) {
+    $id = $args[0];
+} else {
+    $id = null;
+}
+
+$foreground = have_option('f', 'foreground');
+$all = have_option('a') || have_option('--all');
+
+$daemon = new TwitterDaemon($id, !$foreground, 1, $all);
+
+$daemon->runOnce();
index cef67b18060c9b952e1263ed7176423f1044e651..9298d9e3a1cd5543d05d5c49e20cb5e1bd8f7c00 100755 (executable)
@@ -192,25 +192,12 @@ class TwitterStatusFetcher extends ParallelizingDaemon
 
         common_debug(LOG_INFO, $this->name() . ' - Retrieved ' . sizeof($timeline) . ' statuses from Twitter.');
 
+        $importer = new TwitterImport();
+
         // 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))) {
-                common_debug($this->name() . ' - Skipping import of status ' .
-                             $status->id . ' with source ' . $source);
-                continue;
-            }
-
-            // Don't save it if the user is protected
-            // FIXME: save it but treat it as private
-            if ($status->user->protected) {
-                continue;
-            }
-
-            $notice = $this->saveStatus($status);
+            $notice = $importer->importStatus($status);
 
             if (!empty($notice)) {
                 Inbox::insertNotice($flink->user_id, $notice->id);
@@ -226,578 +213,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
         $flink->last_noticesync = common_sql_now();
         $flink->update();
     }
-
-    function saveStatus($status)
-    {
-        $profile = $this->ensureProfile($status->user);
-
-        if (empty($profile)) {
-            common_log(LOG_ERR, $this->name() .
-                ' - Problem saving notice. No associated Profile.');
-            return null;
-        }
-
-        $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)) {
-            common_log(
-                LOG_INFO,
-                $this->name() .
-                " - Ignoring duplicate import: {$status->id}"
-            );
-            return Notice::staticGet('id', $n2s->notice_id);
-        }
-
-        // 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);
-            if (empty($original)) {
-                return null;
-            } else {
-                $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(_m('RT @%1$s %2$s'),
-                                   $author->nickname,
-                                   $original->content);
-
-                if (Notice::contentTooLong($content)) {
-                    $contentlimit = Notice::maxContent();
-                    $content = mb_substr($content, 0, $contentlimit - 4) . ' ...';
-                }
-
-                $repeat = Notice::saveNew($profile->id,
-                                          $content,
-                                          'twitter',
-                                          array('repeat_of' => $original->id,
-                                                'uri' => $statusUri,
-                                                'is_local' => Notice::GATEWAY));
-                common_log(LOG_INFO, "Saved {$repeat->id} as a repeat of {$original->id}");
-                Notice_to_status::saveNew($repeat->id, $status->id);
-                return $repeat;
-            }
-        }
-
-        $notice = new Notice();
-
-        $notice->profile_id = $profile->id;
-        $notice->uri        = $statusUri;
-        $notice->url        = $statusUri;
-        $notice->created    = strftime(
-            '%Y-%m-%d %H:%M:%S',
-            strtotime($status->created_at)
-        );
-
-        $notice->source     = 'twitter';
-
-        $notice->reply_to   = null;
-
-        if (!empty($status->in_reply_to_status_id)) {
-            common_log(LOG_INFO, "Status {$status->id} is a reply to status {$status->in_reply_to_status_id}");
-            $n2s = Notice_to_status::staticGet('status_id', $status->in_reply_to_status_id);
-            if (empty($n2s)) {
-                common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
-            } else {
-                $reply = Notice::staticGet('id', $n2s->notice_id);
-                if (empty($reply)) {
-                    common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
-                } else {
-                    common_log(LOG_INFO, "Found local notice {$reply->id} for status {$status->in_reply_to_status_id}");
-                    $notice->reply_to     = $reply->id;
-                    $notice->conversation = $reply->conversation;
-                }
-            }
-        }
-
-        if (empty($notice->conversation)) {
-            $conv = Conversation::create();
-            $notice->conversation = $conv->id;
-            common_log(LOG_INFO, "No known conversation for status {$status->id} so making a new one {$conv->id}.");
-        }
-
-        $notice->is_local   = Notice::GATEWAY;
-
-        $notice->content  = html_entity_decode($status->text, ENT_QUOTES, 'UTF-8');
-        $notice->rendered = $this->linkify($status);
-
-        if (Event::handle('StartNoticeSave', array(&$notice))) {
-
-            $id = $notice->insert();
-
-            if (!$id) {
-                common_log_db_error($notice, 'INSERT', __FILE__);
-                common_log(LOG_ERR, $this->name() .
-                    ' - Problem saving notice.');
-            }
-
-            Event::handle('EndNoticeSave', array($notice));
-        }
-
-        Notice_to_status::saveNew($notice->id, $status->id);
-
-        $this->saveStatusMentions($notice, $status);
-
-        $notice->blowOnInsert();
-
-        return $notice;
-    }
-
-    /**
-     * Make an URI for a status.
-     *
-     * @param object $status status object
-     *
-     * @return string URI
-     */
-    function makeStatusURI($username, $id)
-    {
-        return 'http://twitter.com/'
-          . $username
-          . '/status/'
-          . $id;
-    }
-
-    /**
-     * Look up a Profile by profileurl field.  Profile::staticGet() was
-     * not working consistently.
-     *
-     * @param string $nickname   local nickname of the Twitter user
-     * @param string $profileurl the profile url
-     *
-     * @return mixed value the first Profile with that url, or null
-     */
-    function getProfileByUrl($nickname, $profileurl)
-    {
-        $profile = new Profile();
-        $profile->nickname = $nickname;
-        $profile->profileurl = $profileurl;
-        $profile->limit(1);
-
-        if ($profile->find()) {
-            $profile->fetch();
-            return $profile;
-        }
-
-        return null;
-    }
-
-    /**
-     * Check to see if this Twitter status has already been imported
-     *
-     * @param Profile $profile   Twitter user's local profile
-     * @param string  $statusUri URI of the status on Twitter
-     *
-     * @return mixed value a matching Notice or null
-     */
-    function checkDupe($profile, $statusUri)
-    {
-        $notice = new Notice();
-        $notice->uri = $statusUri;
-        $notice->profile_id = $profile->id;
-        $notice->limit(1);
-
-        if ($notice->find()) {
-            $notice->fetch();
-            return $notice;
-        }
-
-        return null;
-    }
-
-    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);
-
-        if (!empty($profile)) {
-            common_debug($this->name() .
-                         " - Profile for $profile->nickname found.");
-
-            // Check to see if the user's Avatar has changed
-
-            $this->checkAvatar($user, $profile);
-            return $profile;
-
-        } else {
-            common_debug($this->name() . ' - Adding profile and remote profile ' .
-                         "for Twitter user: $profileurl.");
-
-            $profile = new Profile();
-            $profile->query("BEGIN");
-
-            $profile->nickname = $user->screen_name;
-            $profile->fullname = $user->name;
-            $profile->homepage = $user->url;
-            $profile->bio = $user->description;
-            $profile->location = $user->location;
-            $profile->profileurl = $profileurl;
-            $profile->created = common_sql_now();
-
-            try {
-                $id = $profile->insert();
-            } catch(Exception $e) {
-                common_log(LOG_WARNING, $this->name . ' Couldn\'t insert profile - ' . $e->getMessage());
-            }
-
-            if (empty($id)) {
-                common_log_db_error($profile, 'INSERT', __FILE__);
-                $profile->query("ROLLBACK");
-                return false;
-            }
-
-            // check for remote profile
-
-            $remote_pro = Remote_profile::staticGet('uri', $profileurl);
-
-            if (empty($remote_pro)) {
-                $remote_pro = new Remote_profile();
-
-                $remote_pro->id = $id;
-                $remote_pro->uri = $profileurl;
-                $remote_pro->created = common_sql_now();
-
-                try {
-                    $rid = $remote_pro->insert();
-                } catch (Exception $e) {
-                    common_log(LOG_WARNING, $this->name() . ' Couldn\'t save remote profile - ' . $e->getMessage());
-                }
-
-                if (empty($rid)) {
-                    common_log_db_error($profile, 'INSERT', __FILE__);
-                    $profile->query("ROLLBACK");
-                    return false;
-                }
-            }
-
-            $profile->query("COMMIT");
-
-            $this->saveAvatars($user, $id);
-
-            return $profile;
-        }
-    }
-
-    function checkAvatar($twitter_user, $profile)
-    {
-        global $config;
-
-        $path_parts = pathinfo($twitter_user->profile_image_url);
-
-        $newname = 'Twitter_' . $twitter_user->id . '_' .
-            $path_parts['basename'];
-
-        $oldname = $profile->getAvatar(48)->filename;
-
-        if ($newname != $oldname) {
-            common_debug($this->name() . ' - Avatar for Twitter user ' .
-                         "$profile->nickname has changed.");
-            common_debug($this->name() . " - old: $oldname new: $newname");
-
-            $this->updateAvatars($twitter_user, $profile);
-        }
-
-        if ($this->missingAvatarFile($profile)) {
-            common_debug($this->name() . ' - Twitter user ' .
-                         $profile->nickname .
-                         ' is missing one or more local avatars.');
-            common_debug($this->name() ." - old: $oldname new: $newname");
-
-            $this->updateAvatars($twitter_user, $profile);
-        }
-    }
-
-    function updateAvatars($twitter_user, $profile) {
-
-        global $config;
-
-        $path_parts = pathinfo($twitter_user->profile_image_url);
-
-        $img_root = substr($path_parts['basename'], 0, -11);
-        $ext = $path_parts['extension'];
-        $mediatype = $this->getMediatype($ext);
-
-        foreach (array('mini', 'normal', 'bigger') as $size) {
-            $url = $path_parts['dirname'] . '/' .
-                $img_root . '_' . $size . ".$ext";
-            $filename = 'Twitter_' . $twitter_user->id . '_' .
-                $img_root . "_$size.$ext";
-
-            $this->updateAvatar($profile->id, $size, $mediatype, $filename);
-            $this->fetchAvatar($url, $filename);
-        }
-    }
-
-    function missingAvatarFile($profile) {
-        foreach (array(24, 48, 73) as $size) {
-            $filename = $profile->getAvatar($size)->filename;
-            $avatarpath = Avatar::path($filename);
-            if (file_exists($avatarpath) == FALSE) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    function getMediatype($ext)
-    {
-        $mediatype = null;
-
-        switch (strtolower($ext)) {
-        case 'jpg':
-            $mediatype = 'image/jpg';
-            break;
-        case 'gif':
-            $mediatype = 'image/gif';
-            break;
-        default:
-            $mediatype = 'image/png';
-        }
-
-        return $mediatype;
-    }
-
-    function saveAvatars($user, $id)
-    {
-        global $config;
-
-        $path_parts = pathinfo($user->profile_image_url);
-        $ext = $path_parts['extension'];
-        $end = strlen('_normal' . $ext);
-        $img_root = substr($path_parts['basename'], 0, -($end+1));
-        $mediatype = $this->getMediatype($ext);
-
-        foreach (array('mini', 'normal', 'bigger') as $size) {
-            $url = $path_parts['dirname'] . '/' .
-                $img_root . '_' . $size . ".$ext";
-            $filename = 'Twitter_' . $user->id . '_' .
-                $img_root . "_$size.$ext";
-
-            if ($this->fetchAvatar($url, $filename)) {
-                $this->newAvatar($id, $size, $mediatype, $filename);
-            } else {
-                common_log(LOG_WARNING, $id() .
-                           " - Problem fetching Avatar: $url");
-            }
-        }
-    }
-
-    function updateAvatar($profile_id, $size, $mediatype, $filename) {
-
-        common_debug($this->name() . " - Updating avatar: $size");
-
-        $profile = Profile::staticGet($profile_id);
-
-        if (empty($profile)) {
-            common_debug($this->name() . " - Couldn't get profile: $profile_id!");
-            return;
-        }
-
-        $sizes = array('mini' => 24, 'normal' => 48, 'bigger' => 73);
-        $avatar = $profile->getAvatar($sizes[$size]);
-
-        // Delete the avatar, if present
-        if ($avatar) {
-            $avatar->delete();
-        }
-
-        $this->newAvatar($profile->id, $size, $mediatype, $filename);
-    }
-
-    function newAvatar($profile_id, $size, $mediatype, $filename)
-    {
-        global $config;
-
-        $avatar = new Avatar();
-        $avatar->profile_id = $profile_id;
-
-        switch($size) {
-        case 'mini':
-            $avatar->width  = 24;
-            $avatar->height = 24;
-            break;
-        case 'normal':
-            $avatar->width  = 48;
-            $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;
-        }
-
-        $avatar->original = 0; // we don't have the original
-        $avatar->mediatype = $mediatype;
-        $avatar->filename = $filename;
-        $avatar->url = Avatar::url($filename);
-
-        $avatar->created = common_sql_now();
-
-        try {
-            $id = $avatar->insert();
-        } catch (Exception $e) {
-            common_log(LOG_WARNING, $this->name() . ' Couldn\'t insert avatar - ' . $e->getMessage());
-        }
-
-        if (empty($id)) {
-            common_log_db_error($avatar, 'INSERT', __FILE__);
-            return null;
-        }
-
-        common_debug($this->name() .
-                     " - Saved new $size avatar for $profile_id.");
-
-        return $id;
-    }
-
-    /**
-     * Fetch a remote avatar image and save to local storage.
-     *
-     * @param string $url avatar source URL
-     * @param string $filename bare local filename for download
-     * @return bool true on success, false on failure
-     */
-    function fetchAvatar($url, $filename)
-    {
-        common_debug($this->name() . " - Fetching Twitter avatar: $url");
-
-        $request = HTTPClient::start();
-        $response = $request->get($url);
-        if ($response->isOk()) {
-            $avatarfile = Avatar::path($filename);
-            $ok = file_put_contents($avatarfile, $response->getBody());
-            if (!$ok) {
-                common_log(LOG_WARNING, $this->name() .
-                           " - Couldn't open file $filename");
-                return false;
-            }
-        } else {
-            return false;
-        }
-
-        return true;
-    }
-
-    const URL = 1;
-    const HASHTAG = 2;
-    const MENTION = 3;
-
-    function linkify($status)
-    {
-        $text = $status->text;
-
-        if (empty($status->entities)) {
-            common_log(LOG_WARNING, "No entities data for {$status->id}; trying to fake up links ourselves.");
-            $text = common_replace_urls_callback($text, 'common_linkify');
-            $text = preg_replace('/(^|\&quot\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.TwitterStatusFetcher::tagLink('\\2')", $text);
-            $text = preg_replace('/(^|\s+)@([a-z0-9A-Z_]{1,64})/e', "'\\1@'.TwitterStatusFetcher::atLink('\\2')", $text);
-            return $text;
-        }
-
-        // Move all the entities into order so we can
-        // replace them in reverse order and thus
-        // not mess up their indices
-
-        $toReplace = array();
-
-        if (!empty($status->entities->urls)) {
-            foreach ($status->entities->urls as $url) {
-                $toReplace[$url->indices[0]] = array(self::URL, $url);
-            }
-        }
-
-        if (!empty($status->entities->hashtags)) {
-            foreach ($status->entities->hashtags as $hashtag) {
-                $toReplace[$hashtag->indices[0]] = array(self::HASHTAG, $hashtag);
-            }
-        }
-
-        if (!empty($status->entities->user_mentions)) {
-            foreach ($status->entities->user_mentions as $mention) {
-                $toReplace[$mention->indices[0]] = array(self::MENTION, $mention);
-            }
-        }
-
-        // sort in reverse order by key
-
-        krsort($toReplace);
-
-        foreach ($toReplace as $part) {
-            list($type, $object) = $part;
-            switch($type) {
-            case self::URL:
-                $linkText = $this->makeUrlLink($object);
-                break;
-            case self::HASHTAG:
-                $linkText = $this->makeHashtagLink($object);
-                break;
-            case self::MENTION:
-                $linkText = $this->makeMentionLink($object);
-                break;
-            default:
-                continue;
-            }
-            $text = mb_substr($text, 0, $object->indices[0]) . $linkText . mb_substr($text, $object->indices[1]);
-        }
-        return $text;
-    }
-
-    function makeUrlLink($object)
-    {
-        return "<a href='{$object->url}' class='extlink'>{$object->url}</a>";
-    }
-
-    function makeHashtagLink($object)
-    {
-        return "#" . self::tagLink($object->text);
-    }
-
-    function makeMentionLink($object)
-    {
-        return "@".self::atLink($object->screen_name, $object->name);
-    }
-
-    static function tagLink($tag)
-    {
-        return "<a href='https://twitter.com/search?q=%23{$tag}' class='hashtag'>{$tag}</a>";
-    }
-
-    static function atLink($screenName, $fullName=null)
-    {
-        if (!empty($fullName)) {
-            return "<a href='http://twitter.com/{$screenName}' title='{$fullName}'>{$screenName}</a>";
-        } else {
-            return "<a href='http://twitter.com/{$screenName}'>{$screenName}</a>";
-        }
-    }
-
-    function saveStatusMentions($notice, $status)
-    {
-        $mentions = array();
-
-        if (empty($status->entities) || empty($status->entities->user_mentions)) {
-            return;
-        }
-
-        foreach ($status->entities->user_mentions as $mention) {
-            $flink = Foreign_link::getByForeignID($mention->id, TWITTER_SERVICE);
-            if (!empty($flink)) {
-                $user = User::staticGet('id', $flink->user_id);
-                if (!empty($user)) {
-                    $reply = new Reply();
-                    $reply->notice_id  = $notice->id;
-                    $reply->profile_id = $user->id;
-                    common_log(LOG_INFO, __METHOD__ . ": saving reply: notice {$notice->id} to profile {$user->id}");
-                    $id = $reply->insert();
-                }
-            }
-        }
-    }
 }
 
 $id    = null;
diff --git a/plugins/TwitterBridge/jsonstreamreader.php b/plugins/TwitterBridge/jsonstreamreader.php
new file mode 100644 (file)
index 0000000..f6572c9
--- /dev/null
@@ -0,0 +1,265 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Plugin
+ * @package   StatusNet
+ * @author    Brion Vibber <brion@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+class OAuthData
+{
+    public $consumer_key, $consumer_secret, $token, $token_secret;
+}
+
+/**
+ *
+ */
+abstract class JsonStreamReader
+{
+    const CRLF = "\r\n";
+
+    public $id;
+    protected $socket = null;
+    protected $state = 'init'; // 'init', 'connecting', 'waiting', 'headers', 'active'
+
+    public function __construct()
+    {
+        $this->id = get_class($this) . '.' . substr(md5(mt_rand()), 0, 8);
+    }
+
+    /**
+     * Starts asynchronous connect operation...
+     *
+     * @fixme Can we do the open-socket fully async to? (need write select infrastructure)
+     *
+     * @param string $url
+     */
+    public function connect($url)
+    {
+        common_log(LOG_DEBUG, "$this->id opening connection to $url");
+
+        $scheme = parse_url($url, PHP_URL_SCHEME);
+        if ($scheme == 'http') {
+            $rawScheme = 'tcp';
+        } else if ($scheme == 'https') {
+            $rawScheme = 'ssl';
+        } else {
+            throw new ServerException('Invalid URL scheme for HTTP stream reader');
+        }
+
+        $host = parse_url($url, PHP_URL_HOST);
+        $port = parse_url($url, PHP_URL_PORT);
+        if (!$port) {
+            if ($scheme == 'https') {
+                $port = 443;
+            } else {
+                $port = 80;
+            }
+        }
+
+        $path = parse_url($url, PHP_URL_PATH);
+        $query = parse_url($url, PHP_URL_QUERY);
+        if ($query) {
+            $path .= '?' . $query;
+        }
+
+        $errno = $errstr = null;
+        $timeout = 5;
+        //$flags = STREAM_CLIENT_CONNECT | STREAM_CLIENT_ASYNC_CONNECT;
+        $flags = STREAM_CLIENT_CONNECT;
+        // @fixme add SSL params
+        $this->socket = stream_socket_client("$rawScheme://$host:$port", $errno, $errstr, $timeout, $flags);
+
+        $this->send($this->httpOpen($host, $path));
+
+        stream_set_blocking($this->socket, false);
+        $this->state = 'waiting';
+    }
+
+    /**
+     * Send some fun data off to the server.
+     *
+     * @param string $buffer
+     */
+    function send($buffer)
+    {
+        fwrite($this->socket, $buffer);
+    }
+
+    /**
+     * Read next packet of data from the socket.
+     *
+     * @return string
+     */
+    function read()
+    {
+        $buffer = fread($this->socket, 65536);
+        return $buffer;
+    }
+
+    /**
+     * Build HTTP request headers.
+     *
+     * @param string $host
+     * @param string $path
+     * @return string
+     */
+    protected function httpOpen($host, $path)
+    {
+        $lines = array(
+            "GET $path HTTP/1.1",
+            "Host: $host",
+            "User-Agent: StatusNet/" . STATUSNET_VERSION . " (TwitterBridgePlugin)",
+            "Connection: close",
+            "",
+            ""
+        );
+        return implode(self::CRLF, $lines);
+    }
+
+    /**
+     * Close the current connection, if open.
+     */
+    public function close()
+    {
+        if ($this->isConnected()) {
+            common_log(LOG_DEBUG, "$this->id closing connection.");
+            fclose($this->socket);
+            $this->socket = null;
+        }
+    }
+
+    /**
+     * Are we currently connected?
+     *
+     * @return boolean
+     */
+    public function isConnected()
+    {
+        return $this->socket !== null;
+    }
+
+    /**
+     * Send any sockets we're listening on to the IO manager
+     * to wait for input.
+     *
+     * @return array of resources
+     */
+    public function getSockets()
+    {
+        if ($this->isConnected()) {
+            return array($this->socket);
+        }
+        return array();
+    }
+
+    /**
+     * Take a chunk of input over the horn and go go go! :D
+     *
+     * @param string $buffer
+     */
+    public function handleInput($socket)
+    {
+        if ($this->socket !== $socket) {
+            throw new Exception('Got input from unexpected socket!');
+        }
+
+        try {
+            $buffer = $this->read();
+            $lines = explode(self::CRLF, $buffer);
+            foreach ($lines as $line) {
+                $this->handleLine($line);
+            }
+        } catch (Exception $e) {
+            common_log(LOG_ERR, "$this->id aborting connection due to error: " . $e->getMessage());
+            fclose($this->socket);
+            throw $e;
+        }
+    }
+
+    protected function handleLine($line)
+    {
+        switch ($this->state)
+        {
+            case 'waiting':
+                $this->handleLineWaiting($line);
+                break;
+            case 'headers':
+                $this->handleLineHeaders($line);
+                break;
+            case 'active':
+                $this->handleLineActive($line);
+                break;
+            default:
+                throw new Exception('Invalid state in handleLine: ' . $this->state);
+        }
+    }
+
+    /**
+     *
+     * @param <type> $line
+     */
+    protected function handleLineWaiting($line)
+    {
+        $bits = explode(' ', $line, 3);
+        if (count($bits) != 3) {
+            throw new Exception("Invalid HTTP response line: $line");
+        }
+
+        list($http, $status, $text) = $bits;
+        if (substr($http, 0, 5) != 'HTTP/') {
+            throw new Exception("Invalid HTTP response line chunk '$http': $line");
+        }
+        if ($status != '200') {
+            throw new Exception("Bad HTTP response code $status: $line");
+        }
+        common_log(LOG_DEBUG, "$this->id $line");
+        $this->state = 'headers';
+    }
+
+    protected function handleLineHeaders($line)
+    {
+        if ($line == '') {
+            $this->state = 'active';
+            common_log(LOG_DEBUG, "$this->id connection is active!");
+        } else {
+            common_log(LOG_DEBUG, "$this->id read HTTP header: $line");
+            $this->responseHeaders[] = $line;
+        }
+    }
+
+    protected function handleLineActive($line)
+    {
+        if ($line == "") {
+            // Server sends empty lines as keepalive.
+            return;
+        }
+        $data = json_decode($line);
+        if ($data) {
+            $this->handleJson($data);
+        } else {
+            common_log(LOG_ERR, "$this->id received bogus JSON data: " . var_export($line, true));
+        }
+    }
+
+    abstract protected function handleJson(stdClass $data);
+}
index 2fc96dfe2ad2bcc26cbc3a91273f74a3558d7e66..61a1b6fb15b4860f6a66fb16c8930b595388ea36 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+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,13 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr ""
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr ""
@@ -37,7 +44,7 @@ msgid ""
 msgstr ""
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr ""
 
@@ -49,11 +56,11 @@ msgstr ""
 msgid "Twitter integration options"
 msgstr ""
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr ""
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -354,17 +361,10 @@ msgstr ""
 msgid "Twitter account disconnected."
 msgstr ""
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr ""
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 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 ""
index 988b2577dfa1923f488398ca392ec7b890a2da83..0192705db08cab3e3de4dec3412a100447e0f506 100644 (file)
@@ -10,18 +10,25 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:52+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:18+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr "Votre passerelle Twitter a été désactivée."
@@ -55,7 +62,7 @@ msgstr ""
 "%3$s"
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -67,11 +74,11 @@ msgstr "Se connecter ou s’inscrire via Twitter"
 msgid "Twitter integration options"
 msgstr "Options d’intégration de Twitter"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Configuration de la passerelle Twitter"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -399,17 +406,10 @@ msgstr "Impossible de supprimer l’utilisateur Twitter."
 msgid "Twitter account disconnected."
 msgstr "Compte Twitter déconnecté."
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "Impossible de sauvegarder les préférences Twitter."
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "Préférences Twitter enregistrées."
-
-#. 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 "RT @%1$s %2$s"
index c655e8e9c80ef456ae1c580843942e73019b97f2..de5b00c85c1a964fb07379dee1961756368f0a09 100644 (file)
@@ -9,18 +9,25 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:52+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:18+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr "Tu ponte a Twitter ha essite disactivate."
@@ -53,7 +60,7 @@ msgstr ""
 "%3$s"
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -65,11 +72,11 @@ msgstr "Aperir session o crear conto usante Twitter"
 msgid "Twitter integration options"
 msgstr "Optiones de integration de Twitter"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Configuration del ponte a Twitter"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -388,17 +395,10 @@ msgstr "Non poteva remover le usator de Twitter."
 msgid "Twitter account disconnected."
 msgstr "Conto de Twitter disconnectite."
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "Non poteva salveguardar le preferentias de Twitter."
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "Preferentias de Twitter salveguardate."
-
-#. 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 "RT @%1$s %2$s"
index 88f3a2eb2e8083d8ec2ff0eabbfa0da6c549b1eb..31f166286fa7ab4c8c70c921a93aa2c41963974b 100644 (file)
@@ -9,18 +9,25 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:52+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:21+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr "Вашиот мост до Twitter е оневозможен."
@@ -53,7 +60,7 @@ msgstr ""
 "%3$s"
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -65,11 +72,11 @@ msgstr "Најава или регистрација со Twitter"
 msgid "Twitter integration options"
 msgstr "Нагодувања за обединување со Twitter"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Нагодувања за мостот до Twitter"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -391,17 +398,10 @@ msgstr "Не можев да го отстранам корисникот на T
 msgid "Twitter account disconnected."
 msgstr "Врската со сметката на Twitter е прекината."
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "Не можев да ги зачувам нагодувањата за Twitter."
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "Нагодувањата за Twitter се зачувани."
-
-#. 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 "RT @%1$s %2$s"
index 8e152f4054379fa67c31783a0108c715630b822a..38d1e54728d275105a4e16121a142e9719422894 100644 (file)
@@ -9,18 +9,25 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:52+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:21+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr "Uw koppeling naar Twitter is uitgeschakeld."
@@ -55,7 +62,7 @@ msgstr ""
 "%3$s"
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -67,11 +74,11 @@ msgstr "Aanmelden of registreren via Twitter"
 msgid "Twitter integration options"
 msgstr "Opties voor Twitterintegratie"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Instellingen voor Twitterkoppeling"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -398,17 +405,10 @@ msgstr "Het was niet mogelijk de Twittergebruiker te verwijderen."
 msgid "Twitter account disconnected."
 msgstr "De Twittergebruiker is ontkoppeld."
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "Het was niet mogelijk de Twittervoorkeuren op te slaan."
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "De Twitterinstellingen zijn opgeslagen."
-
-#. 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 "RT @%1$s %2$s"
index 76e7e8ecb3d0cd25d514ae184e3f2efb1f3cab84..3d25b37157aa50c6e76925332174d74b0477e870 100644 (file)
@@ -9,18 +9,25 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:52+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:21+0000\n"
 "Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: tr\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr ""
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr ""
@@ -42,7 +49,7 @@ msgid ""
 msgstr ""
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -54,11 +61,11 @@ msgstr ""
 msgid "Twitter integration options"
 msgstr "Twitter entegrasyon seçenekleri"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Twitter köprü yapılandırması"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -372,17 +379,10 @@ msgstr "Twitter kullanıcısı silinemedi."
 msgid "Twitter account disconnected."
 msgstr "Twitter hesabı bağlantısı kesildi."
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "Twitter tercihleri kaydedilemedi."
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "Twitter tercihleriniz kaydedildi."
-
-#. 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 ""
index 2ee15e69bf756b830d12f9c6f46110d542268050..2eb66a5147450f62b36150c40e51ccfae989ed01 100644 (file)
@@ -9,19 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:52+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:21+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
 "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr "Ваш місток до Twitter було відключено."
@@ -55,7 +62,7 @@ msgstr ""
 "%3$s"
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -67,11 +74,11 @@ msgstr "Увійти або зареєструватись з Twitter"
 msgid "Twitter integration options"
 msgstr "Параметри інтеграції з Twitter"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Налаштування містка з Twitter"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -394,17 +401,10 @@ msgstr "Не вдається видалити користувача Twitter."
 msgid "Twitter account disconnected."
 msgstr "Акаунт Twitter від’єднано."
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "Не можу зберегти налаштування Twitter."
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "Налаштування Twitter збережено."
-
-#. 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 "RT @%1$s %2$s"
index 54804a7284f9b9bae127900f00ea1e4853878807..9208a4954a2d9653712a55efcc3b5583b0020243 100644 (file)
@@ -9,19 +9,26 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - TwitterBridge\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:53+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+0000\n"
+"PO-Revision-Date: 2010-11-04 18:29:22+0000\n"
 "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
 "hans>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-10-29 16:14:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: zh-hans\n"
 "X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
+#. 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.
+#: twitterimport.php:113
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
 #: twitter.php:349
 msgid "Your Twitter bridge has been disabled."
 msgstr "你的 Twitter bridge 已被禁用。"
@@ -52,7 +59,7 @@ msgstr ""
 "%3$s"
 
 #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52
 msgid "Twitter"
 msgstr "Twitter"
 
@@ -64,11 +71,11 @@ msgstr "使用 Twitter 登录或注册"
 msgid "Twitter integration options"
 msgstr "Twitter 整合选项"
 
-#: TwitterBridgePlugin.php:292
+#: TwitterBridgePlugin.php:303
 msgid "Twitter bridge configuration"
 msgstr "Twitter bridge 设置"
 
-#: TwitterBridgePlugin.php:316
+#: TwitterBridgePlugin.php:327
 msgid ""
 "The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
 "with <a href=\"http://twitter.com/\">Twitter</a>."
@@ -376,17 +383,10 @@ msgstr "无法删除 Twitter 用户。"
 msgid "Twitter account disconnected."
 msgstr "已取消 Twitter 帐号关联。"
 
-#: twittersettings.php:283 twittersettings.php:293
+#: twittersettings.php:283 twittersettings.php:294
 msgid "Couldn't save Twitter preferences."
 msgstr "无法保存 Twitter 参数设置。"
 
-#: twittersettings.php:297
+#: twittersettings.php:302
 msgid "Twitter preferences saved."
 msgstr "已保存 Twitter 参数设置。"
-
-#. 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 "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/scripts/fakestream.php b/plugins/TwitterBridge/scripts/fakestream.php
new file mode 100644 (file)
index 0000000..3696888
--- /dev/null
@@ -0,0 +1,147 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Plugin
+ * @package   StatusNet
+ * @author    Brion Vibber <brion@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
+
+$shortoptions = 'n:';
+$longoptions = array('nick=','import','all');
+
+$helptext = <<<ENDOFHELP
+USAGE: fakestream.php -n <username>
+
+  -n --nick=<username> Local user whose Twitter timeline to watch
+     --import          Experimental: run incoming messages through import
+     --all             Experimental: run multiuser; requires nick be the app owner
+
+Attempts a User Stream connection to Twitter as the given user, dumping
+data as it comes.
+
+ENDOFHELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+if (have_option('n')) {
+    $nickname = get_option_value('n');
+} else if (have_option('nick')) {
+    $nickname = get_option_value('nickname');
+} else if (have_option('all')) {
+    $nickname = null;
+} else {
+    show_help($helptext);
+    exit(0);
+}
+
+/**
+ *
+ * @param User $user 
+ * @return TwitterOAuthClient
+ */
+function twitterAuthForUser(User $user)
+{
+    $flink = Foreign_link::getByUserID($user->id,
+                                       TWITTER_SERVICE);
+    if (!$flink) {
+        throw new ServerException("No Twitter config for this user.");
+    }
+
+    $token = TwitterOAuthClient::unpackToken($flink->credentials);
+    if (!$token) {
+        throw new ServerException("No Twitter OAuth credentials for this user.");
+    }
+
+    return new TwitterOAuthClient($token->key, $token->secret);
+}
+
+/**
+ * Emulate the line-by-line output...
+ *
+ * @param Foreign_link $flink
+ * @param mixed $data
+ */
+function dumpMessage($flink, $data)
+{
+    $msg = prepMessage($flink, $data);
+    print json_encode($msg) . "\r\n";
+}
+
+function prepMessage($flink, $data)
+{
+    $msg->for_user = $flink->foreign_id;
+    $msg->message = $data;
+    return $msg;
+}
+
+if (have_option('all')) {
+    $users = array();
+
+    $flink = new Foreign_link();
+    $flink->service = TWITTER_SERVICE;
+    $flink->find();
+
+    while ($flink->fetch()) {
+        if (($flink->noticesync & FOREIGN_NOTICE_RECV) ==
+            FOREIGN_NOTICE_RECV) {
+            $users[] = $flink->user_id;
+        }
+    }
+} else {
+    $user = User::staticGet('nickname', $nickname);
+    $users = array($user->id);
+}
+
+$output = array();
+foreach ($users as $id) {
+    $user = User::staticGet('id', $id);
+    if (!$user) {
+        throw new Exception("No user for id $id");
+    }
+    $auth = twitterAuthForUser($user);
+    $flink = Foreign_link::getByUserID($user->id,
+                                       TWITTER_SERVICE);
+
+    $friends->friends = $auth->friendsIds();
+    dumpMessage($flink, $friends);
+
+    $timeline = $auth->statusesHomeTimeline();
+    foreach ($timeline as $status) {
+        $output[] = prepMessage($flink, $status);
+    }
+}
+
+usort($output, function($a, $b) {
+    if ($a->message->id < $b->message->id) {
+        return -1;
+    } else if ($a->message->id == $b->message->id) {
+        return 0;
+    } else {
+        return 1;
+    }
+});
+
+foreach ($output as $msg) {
+    print json_encode($msg) . "\r\n";
+}
diff --git a/plugins/TwitterBridge/scripts/streamtest.php b/plugins/TwitterBridge/scripts/streamtest.php
new file mode 100644 (file)
index 0000000..aad15fd
--- /dev/null
@@ -0,0 +1,244 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Plugin
+ * @package   StatusNet
+ * @author    Brion Vibber <brion@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
+
+$shortoptions = 'n:';
+$longoptions = array('nick=','import','all','apiroot=');
+
+$helptext = <<<ENDOFHELP
+USAGE: streamtest.php -n <username>
+
+  -n --nick=<username> Local user whose Twitter timeline to watch
+     --import          Experimental: run incoming messages through import
+     --all             Experimental: run multiuser; requires nick be the app owner
+     --apiroot=<url>   Provide alternate streaming API root URL
+
+Attempts a User Stream connection to Twitter as the given user, dumping
+data as it comes.
+
+ENDOFHELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+require_once dirname(dirname(__FILE__)) . '/jsonstreamreader.php';
+require_once dirname(dirname(__FILE__)) . '/twitterstreamreader.php';
+
+if (have_option('n')) {
+    $nickname = get_option_value('n');
+} else if (have_option('nick')) {
+    $nickname = get_option_value('nickname');
+} else {
+    show_help($helptext);
+    exit(0);
+}
+
+/**
+ *
+ * @param User $user 
+ * @return TwitterOAuthClient
+ */
+function twitterAuthForUser(User $user)
+{
+    $flink = Foreign_link::getByUserID($user->id,
+                                       TWITTER_SERVICE);
+    if (!$flink) {
+        throw new ServerException("No Twitter config for this user.");
+    }
+
+    $token = TwitterOAuthClient::unpackToken($flink->credentials);
+    if (!$token) {
+        throw new ServerException("No Twitter OAuth credentials for this user.");
+    }
+
+    return new TwitterOAuthClient($token->key, $token->secret);
+}
+
+function homeStreamForUser(User $user)
+{
+    $auth = twitterAuthForUser($user);
+    return new TwitterUserStream($auth);
+}
+
+function siteStreamForOwner(User $user)
+{
+    // The user we auth as must be the owner of the application.
+    $auth = twitterAuthForUser($user);
+
+    if (have_option('apiroot')) {
+        $stream = new TwitterSiteStream($auth, get_option_value('apiroot'));
+    } else {
+        $stream = new TwitterSiteStream($auth);
+    }
+
+    // Pull Twitter user IDs for all users we want to pull data for
+    $userIds = array();
+
+    $flink = new Foreign_link();
+    $flink->service = TWITTER_SERVICE;
+    $flink->find();
+
+    while ($flink->fetch()) {
+        if (($flink->noticesync & FOREIGN_NOTICE_RECV) ==
+            FOREIGN_NOTICE_RECV) {
+            $userIds[] = $flink->foreign_id;
+        }
+    }
+
+    $stream->followUsers($userIds);
+    return $stream;
+}
+
+
+$user = User::staticGet('nickname', $nickname);
+global $myuser;
+$myuser = $user;
+
+if (have_option('all')) {
+    $stream = siteStreamForOwner($user);
+} else {
+    $stream = homeStreamForUser($user);
+}
+
+
+$stream->hookEvent('raw', function($data, $context) {
+    common_log(LOG_INFO, json_encode($data) . ' for ' . json_encode($context));
+});
+$stream->hookEvent('friends', function($data, $context) {
+    printf("Friend list: %s\n", implode(', ', $data->friends));
+});
+$stream->hookEvent('favorite', function($data, $context) {
+    printf("%s favorited %s's notice: %s\n",
+            $data->source->screen_name,
+            $data->target->screen_name,
+            $data->target_object->text);
+});
+$stream->hookEvent('unfavorite', function($data, $context) {
+    printf("%s unfavorited %s's notice: %s\n",
+            $data->source->screen_name,
+            $data->target->screen_name,
+            $data->target_object->text);
+});
+$stream->hookEvent('follow', function($data, $context) {
+    printf("%s friended %s\n",
+            $data->source->screen_name,
+            $data->target->screen_name);
+});
+$stream->hookEvent('unfollow', function($data, $context) {
+    printf("%s unfriended %s\n",
+            $data->source->screen_name,
+            $data->target->screen_name);
+});
+$stream->hookEvent('delete', function($data, $context) {
+    printf("Deleted status notification: %s\n",
+            $data->status->id);
+});
+$stream->hookEvent('scrub_geo', function($data, $context) {
+    printf("Req to scrub geo data for user id %s up to status ID %s\n",
+            $data->user_id,
+            $data->up_to_status_id);
+});
+$stream->hookEvent('status', function($data, $context) {
+    printf("Received status update from %s: %s\n",
+            $data->user->screen_name,
+            $data->text);
+
+    if (have_option('import')) {
+        $importer = new TwitterImport();
+        printf("\timporting...");
+        $notice = $importer->importStatus($data);
+        if ($notice) {
+            global $myuser;
+            Inbox::insertNotice($myuser->id, $notice->id);
+            printf(" %s\n", $notice->id);
+        } else {
+            printf(" FAIL\n");
+        }
+    }
+});
+$stream->hookEvent('direct_message', function($data) {
+    printf("Direct message from %s to %s: %s\n",
+            $data->sender->screen_name,
+            $data->recipient->screen_name,
+            $data->text);
+});
+
+class TwitterManager extends IoManager
+{
+    function __construct(TwitterStreamReader $stream)
+    {
+        $this->stream = $stream;
+    }
+
+    function getSockets()
+    {
+        return $this->stream->getSockets();
+    }
+
+    function handleInput($data)
+    {
+        $this->stream->handleInput($data);
+        return true;
+    }
+
+    function start()
+    {
+        $this->stream->connect();
+        return true;
+    }
+
+    function finish()
+    {
+        $this->stream->close();
+        return true;
+    }
+
+    public static function get()
+    {
+        throw new Exception('not a singleton');
+    }
+}
+
+class TwitterStreamMaster extends IoMaster
+{
+    function __construct($id, $ioManager)
+    {
+        parent::__construct($id);
+        $this->ioManager = $ioManager;
+    }
+
+    /**
+     * Initialize IoManagers which are appropriate to this instance.
+     */
+    function initManagers()
+    {
+        $this->instantiate($this->ioManager);
+    }
+}
+
+$master = new TwitterStreamMaster('TwitterStream', new TwitterManager($stream));
+$master->init();
+$master->service();
diff --git a/plugins/TwitterBridge/tweetctlqueuehandler.php b/plugins/TwitterBridge/tweetctlqueuehandler.php
new file mode 100644 (file)
index 0000000..4c8bef4
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+
+require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
+
+/**
+ * Queue handler to deal with incoming Twitter status updates, as retrieved by
+ * TwitterDaemon (twitterdaemon.php).
+ *
+ * The queue handler passes the status through TwitterImporter for import into the
+ * local database (if necessary), then adds the imported notice to the local inbox
+ * of the attached Twitter user.
+ *
+ * Warning: the way we do inbox distribution manually means that realtime, XMPP, etc
+ * don't work on Twitter-borne messages. When TwitterImporter is changed to handle
+ * that correctly, we'll only need to do this once...?
+ */
+class TweetCtlQueueHandler extends QueueHandler
+{
+    function transport()
+    {
+        return 'tweetctl';
+    }
+
+    function handle($data)
+    {
+        // A user has activated or deactivated their Twitter bridge
+        // import status.
+        $action = $data['action'];
+        $userId = $data['for_user'];
+
+        $tm = TwitterManager::get();
+        if ($action == 'start') {
+            $tm->startTwitterUser($userId);
+        } else if ($action == 'stop') {
+            $tm->stopTwitterUser($userId);
+        }
+
+        return true;
+    }
+}
diff --git a/plugins/TwitterBridge/tweetinqueuehandler.php b/plugins/TwitterBridge/tweetinqueuehandler.php
new file mode 100644 (file)
index 0000000..ff6b2cc
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+
+require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
+
+/**
+ * Queue handler to deal with incoming Twitter status updates, as retrieved by
+ * TwitterDaemon (twitterdaemon.php).
+ *
+ * The queue handler passes the status through TwitterImporter for import into the
+ * local database (if necessary), then adds the imported notice to the local inbox
+ * of the attached Twitter user.
+ *
+ * Warning: the way we do inbox distribution manually means that realtime, XMPP, etc
+ * don't work on Twitter-borne messages. When TwitterImporter is changed to handle
+ * that correctly, we'll only need to do this once...?
+ */
+class TweetInQueueHandler extends QueueHandler
+{
+    function transport()
+    {
+        return 'tweetin';
+    }
+
+    function handle($data)
+    {
+        // JSON object with Twitter data
+        $status = $data['status'];
+
+        // Twitter user ID this incoming data belongs to.
+        $receiver = $data['for_user'];
+
+        $importer = new TwitterImport();
+        $notice = $importer->importStatus($status);
+        if ($notice) {
+            $flink = Foreign_link::getByForeignID(TWITTER_SERVICE, $receiver);
+            if ($flink) {
+                // @fixme this should go through more regular channels?
+                Inbox::insertNotice($flink->user_id, $notice->id);
+            }
+        }
+
+        return true;
+    }
+}
diff --git a/plugins/TwitterBridge/twitterimport.php b/plugins/TwitterBridge/twitterimport.php
new file mode 100644 (file)
index 0000000..498e9b1
--- /dev/null
@@ -0,0 +1,668 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Plugin
+ * @package   StatusNet
+ * @author    Zach Copley <zach@status.net>
+ * @author    Julien C <chaumond@gmail.com>
+ * @author    Brion Vibber <brion@status.net>
+ * @copyright 2009-2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
+
+require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
+
+/**
+ * Encapsulation of the Twitter status -> notice incoming bridge import.
+ * Is used by both the polling twitterstatusfetcher.php daemon, and the
+ * in-progress streaming import.
+ *
+ * @category Plugin
+ * @package  StatusNet
+ * @author   Zach Copley <zach@status.net>
+ * @author   Julien C <chaumond@gmail.com>
+ * @author   Brion Vibber <brion@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://status.net/
+ * @link     http://twitter.com/
+ */
+class TwitterImport
+{
+    public function importStatus($status)
+    {
+        // Hacktastic: filter out stuff coming from this StatusNet
+        $source = mb_strtolower(common_config('integration', 'source'));
+
+        if (preg_match("/$source/", mb_strtolower($status->source))) {
+            common_debug($this->name() . ' - Skipping import of status ' .
+                         $status->id . ' with source ' . $source);
+            return null;
+        }
+
+        // Don't save it if the user is protected
+        // FIXME: save it but treat it as private
+        if ($status->user->protected) {
+            return null;
+        }
+
+        $notice = $this->saveStatus($status);
+
+        return $notice;
+    }
+
+    function name()
+    {
+        return get_class($this);
+    }
+
+    function saveStatus($status)
+    {
+        $profile = $this->ensureProfile($status->user);
+
+        if (empty($profile)) {
+            common_log(LOG_ERR, $this->name() .
+                ' - Problem saving notice. No associated Profile.');
+            return null;
+        }
+
+        $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)) {
+            common_log(
+                LOG_INFO,
+                $this->name() .
+                " - Ignoring duplicate import: {$status->id}"
+            );
+            return Notice::staticGet('id', $n2s->notice_id);
+        }
+
+        // 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);
+            if (empty($original)) {
+                return null;
+            } else {
+                $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(_m('RT @%1$s %2$s'),
+                                   $author->nickname,
+                                   $original->content);
+
+                if (Notice::contentTooLong($content)) {
+                    $contentlimit = Notice::maxContent();
+                    $content = mb_substr($content, 0, $contentlimit - 4) . ' ...';
+                }
+
+                $repeat = Notice::saveNew($profile->id,
+                                          $content,
+                                          'twitter',
+                                          array('repeat_of' => $original->id,
+                                                'uri' => $statusUri,
+                                                'is_local' => Notice::GATEWAY));
+                common_log(LOG_INFO, "Saved {$repeat->id} as a repeat of {$original->id}");
+                Notice_to_status::saveNew($repeat->id, $status->id);
+                return $repeat;
+            }
+        }
+
+        $notice = new Notice();
+
+        $notice->profile_id = $profile->id;
+        $notice->uri        = $statusUri;
+        $notice->url        = $statusUri;
+        $notice->created    = strftime(
+            '%Y-%m-%d %H:%M:%S',
+            strtotime($status->created_at)
+        );
+
+        $notice->source     = 'twitter';
+
+        $notice->reply_to   = null;
+
+        if (!empty($status->in_reply_to_status_id)) {
+            common_log(LOG_INFO, "Status {$status->id} is a reply to status {$status->in_reply_to_status_id}");
+            $n2s = Notice_to_status::staticGet('status_id', $status->in_reply_to_status_id);
+            if (empty($n2s)) {
+                common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
+            } else {
+                $reply = Notice::staticGet('id', $n2s->notice_id);
+                if (empty($reply)) {
+                    common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
+                } else {
+                    common_log(LOG_INFO, "Found local notice {$reply->id} for status {$status->in_reply_to_status_id}");
+                    $notice->reply_to     = $reply->id;
+                    $notice->conversation = $reply->conversation;
+                }
+            }
+        }
+
+        if (empty($notice->conversation)) {
+            $conv = Conversation::create();
+            $notice->conversation = $conv->id;
+            common_log(LOG_INFO, "No known conversation for status {$status->id} so making a new one {$conv->id}.");
+        }
+
+        $notice->is_local   = Notice::GATEWAY;
+
+        $notice->content  = html_entity_decode($status->text, ENT_QUOTES, 'UTF-8');
+        $notice->rendered = $this->linkify($status);
+
+        if (Event::handle('StartNoticeSave', array(&$notice))) {
+
+            $id = $notice->insert();
+
+            if (!$id) {
+                common_log_db_error($notice, 'INSERT', __FILE__);
+                common_log(LOG_ERR, $this->name() .
+                    ' - Problem saving notice.');
+            }
+
+            Event::handle('EndNoticeSave', array($notice));
+        }
+
+        Notice_to_status::saveNew($notice->id, $status->id);
+
+        $this->saveStatusMentions($notice, $status);
+        $this->saveStatusAttachments($notice, $status);
+
+        $notice->blowOnInsert();
+
+        return $notice;
+    }
+
+    /**
+     * Make an URI for a status.
+     *
+     * @param object $status status object
+     *
+     * @return string URI
+     */
+    function makeStatusURI($username, $id)
+    {
+        return 'http://twitter.com/'
+          . $username
+          . '/status/'
+          . $id;
+    }
+
+
+    /**
+     * Look up a Profile by profileurl field.  Profile::staticGet() was
+     * not working consistently.
+     *
+     * @param string $nickname   local nickname of the Twitter user
+     * @param string $profileurl the profile url
+     *
+     * @return mixed value the first Profile with that url, or null
+     */
+    function getProfileByUrl($nickname, $profileurl)
+    {
+        $profile = new Profile();
+        $profile->nickname = $nickname;
+        $profile->profileurl = $profileurl;
+        $profile->limit(1);
+
+        if ($profile->find()) {
+            $profile->fetch();
+            return $profile;
+        }
+
+        return null;
+    }
+
+    /**
+     * Check to see if this Twitter status has already been imported
+     *
+     * @param Profile $profile   Twitter user's local profile
+     * @param string  $statusUri URI of the status on Twitter
+     *
+     * @return mixed value a matching Notice or null
+     */
+    function checkDupe($profile, $statusUri)
+    {
+        $notice = new Notice();
+        $notice->uri = $statusUri;
+        $notice->profile_id = $profile->id;
+        $notice->limit(1);
+
+        if ($notice->find()) {
+            $notice->fetch();
+            return $notice;
+        }
+
+        return null;
+    }
+
+    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);
+
+        if (!empty($profile)) {
+            common_debug($this->name() .
+                         " - Profile for $profile->nickname found.");
+
+            // Check to see if the user's Avatar has changed
+
+            $this->checkAvatar($user, $profile);
+            return $profile;
+
+        } else {
+            common_debug($this->name() . ' - Adding profile and remote profile ' .
+                         "for Twitter user: $profileurl.");
+
+            $profile = new Profile();
+            $profile->query("BEGIN");
+
+            $profile->nickname = $user->screen_name;
+            $profile->fullname = $user->name;
+            $profile->homepage = $user->url;
+            $profile->bio = $user->description;
+            $profile->location = $user->location;
+            $profile->profileurl = $profileurl;
+            $profile->created = common_sql_now();
+
+            try {
+                $id = $profile->insert();
+            } catch(Exception $e) {
+                common_log(LOG_WARNING, $this->name() . ' Couldn\'t insert profile - ' . $e->getMessage());
+            }
+
+            if (empty($id)) {
+                common_log_db_error($profile, 'INSERT', __FILE__);
+                $profile->query("ROLLBACK");
+                return false;
+            }
+
+            // check for remote profile
+
+            $remote_pro = Remote_profile::staticGet('uri', $profileurl);
+
+            if (empty($remote_pro)) {
+                $remote_pro = new Remote_profile();
+
+                $remote_pro->id = $id;
+                $remote_pro->uri = $profileurl;
+                $remote_pro->created = common_sql_now();
+
+                try {
+                    $rid = $remote_pro->insert();
+                } catch (Exception $e) {
+                    common_log(LOG_WARNING, $this->name() . ' Couldn\'t save remote profile - ' . $e->getMessage());
+                }
+
+                if (empty($rid)) {
+                    common_log_db_error($profile, 'INSERT', __FILE__);
+                    $profile->query("ROLLBACK");
+                    return false;
+                }
+            }
+
+            $profile->query("COMMIT");
+
+            $this->saveAvatars($user, $id);
+
+            return $profile;
+        }
+    }
+
+    function checkAvatar($twitter_user, $profile)
+    {
+        global $config;
+
+        $path_parts = pathinfo($twitter_user->profile_image_url);
+
+        $newname = 'Twitter_' . $twitter_user->id . '_' .
+            $path_parts['basename'];
+
+        $oldname = $profile->getAvatar(48)->filename;
+
+        if ($newname != $oldname) {
+            common_debug($this->name() . ' - Avatar for Twitter user ' .
+                         "$profile->nickname has changed.");
+            common_debug($this->name() . " - old: $oldname new: $newname");
+
+            $this->updateAvatars($twitter_user, $profile);
+        }
+
+        if ($this->missingAvatarFile($profile)) {
+            common_debug($this->name() . ' - Twitter user ' .
+                         $profile->nickname .
+                         ' is missing one or more local avatars.');
+            common_debug($this->name() ." - old: $oldname new: $newname");
+
+            $this->updateAvatars($twitter_user, $profile);
+        }
+    }
+
+    function updateAvatars($twitter_user, $profile) {
+
+        global $config;
+
+        $path_parts = pathinfo($twitter_user->profile_image_url);
+
+        $img_root = substr($path_parts['basename'], 0, -11);
+        $ext = $path_parts['extension'];
+        $mediatype = $this->getMediatype($ext);
+
+        foreach (array('mini', 'normal', 'bigger') as $size) {
+            $url = $path_parts['dirname'] . '/' .
+                $img_root . '_' . $size . ".$ext";
+            $filename = 'Twitter_' . $twitter_user->id . '_' .
+                $img_root . "_$size.$ext";
+
+            $this->updateAvatar($profile->id, $size, $mediatype, $filename);
+            $this->fetchAvatar($url, $filename);
+        }
+    }
+
+    function missingAvatarFile($profile) {
+        foreach (array(24, 48, 73) as $size) {
+            $filename = $profile->getAvatar($size)->filename;
+            $avatarpath = Avatar::path($filename);
+            if (file_exists($avatarpath) == FALSE) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    function getMediatype($ext)
+    {
+        $mediatype = null;
+
+        switch (strtolower($ext)) {
+        case 'jpg':
+            $mediatype = 'image/jpg';
+            break;
+        case 'gif':
+            $mediatype = 'image/gif';
+            break;
+        default:
+            $mediatype = 'image/png';
+        }
+
+        return $mediatype;
+    }
+
+    function saveAvatars($user, $id)
+    {
+        global $config;
+
+        $path_parts = pathinfo($user->profile_image_url);
+        $ext = $path_parts['extension'];
+        $end = strlen('_normal' . $ext);
+        $img_root = substr($path_parts['basename'], 0, -($end+1));
+        $mediatype = $this->getMediatype($ext);
+
+        foreach (array('mini', 'normal', 'bigger') as $size) {
+            $url = $path_parts['dirname'] . '/' .
+                $img_root . '_' . $size . ".$ext";
+            $filename = 'Twitter_' . $user->id . '_' .
+                $img_root . "_$size.$ext";
+
+            if ($this->fetchAvatar($url, $filename)) {
+                $this->newAvatar($id, $size, $mediatype, $filename);
+            } else {
+                common_log(LOG_WARNING, $id() .
+                           " - Problem fetching Avatar: $url");
+            }
+        }
+    }
+
+    function updateAvatar($profile_id, $size, $mediatype, $filename) {
+
+        common_debug($this->name() . " - Updating avatar: $size");
+
+        $profile = Profile::staticGet($profile_id);
+
+        if (empty($profile)) {
+            common_debug($this->name() . " - Couldn't get profile: $profile_id!");
+            return;
+        }
+
+        $sizes = array('mini' => 24, 'normal' => 48, 'bigger' => 73);
+        $avatar = $profile->getAvatar($sizes[$size]);
+
+        // Delete the avatar, if present
+        if ($avatar) {
+            $avatar->delete();
+        }
+
+        $this->newAvatar($profile->id, $size, $mediatype, $filename);
+    }
+
+    function newAvatar($profile_id, $size, $mediatype, $filename)
+    {
+        global $config;
+
+        $avatar = new Avatar();
+        $avatar->profile_id = $profile_id;
+
+        switch($size) {
+        case 'mini':
+            $avatar->width  = 24;
+            $avatar->height = 24;
+            break;
+        case 'normal':
+            $avatar->width  = 48;
+            $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;
+        }
+
+        $avatar->original = 0; // we don't have the original
+        $avatar->mediatype = $mediatype;
+        $avatar->filename = $filename;
+        $avatar->url = Avatar::url($filename);
+
+        $avatar->created = common_sql_now();
+
+        try {
+            $id = $avatar->insert();
+        } catch (Exception $e) {
+            common_log(LOG_WARNING, $this->name() . ' Couldn\'t insert avatar - ' . $e->getMessage());
+        }
+
+        if (empty($id)) {
+            common_log_db_error($avatar, 'INSERT', __FILE__);
+            return null;
+        }
+
+        common_debug($this->name() .
+                     " - Saved new $size avatar for $profile_id.");
+
+        return $id;
+    }
+
+    /**
+     * Fetch a remote avatar image and save to local storage.
+     *
+     * @param string $url avatar source URL
+     * @param string $filename bare local filename for download
+     * @return bool true on success, false on failure
+     */
+    function fetchAvatar($url, $filename)
+    {
+        common_debug($this->name() . " - Fetching Twitter avatar: $url");
+
+        $request = HTTPClient::start();
+        $response = $request->get($url);
+        if ($response->isOk()) {
+            $avatarfile = Avatar::path($filename);
+            $ok = file_put_contents($avatarfile, $response->getBody());
+            if (!$ok) {
+                common_log(LOG_WARNING, $this->name() .
+                           " - Couldn't open file $filename");
+                return false;
+            }
+        } else {
+            return false;
+        }
+
+        return true;
+    }
+
+    const URL = 1;
+    const HASHTAG = 2;
+    const MENTION = 3;
+
+    function linkify($status)
+    {
+        $text = $status->text;
+
+        if (empty($status->entities)) {
+            common_log(LOG_WARNING, "No entities data for {$status->id}; trying to fake up links ourselves.");
+            $text = common_replace_urls_callback($text, 'common_linkify');
+            $text = preg_replace('/(^|\&quot\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.TwitterStatusFetcher::tagLink('\\2')", $text);
+            $text = preg_replace('/(^|\s+)@([a-z0-9A-Z_]{1,64})/e', "'\\1@'.TwitterStatusFetcher::atLink('\\2')", $text);
+            return $text;
+        }
+
+        // Move all the entities into order so we can
+        // replace them in reverse order and thus
+        // not mess up their indices
+
+        $toReplace = array();
+
+        if (!empty($status->entities->urls)) {
+            foreach ($status->entities->urls as $url) {
+                $toReplace[$url->indices[0]] = array(self::URL, $url);
+            }
+        }
+
+        if (!empty($status->entities->hashtags)) {
+            foreach ($status->entities->hashtags as $hashtag) {
+                $toReplace[$hashtag->indices[0]] = array(self::HASHTAG, $hashtag);
+            }
+        }
+
+        if (!empty($status->entities->user_mentions)) {
+            foreach ($status->entities->user_mentions as $mention) {
+                $toReplace[$mention->indices[0]] = array(self::MENTION, $mention);
+            }
+        }
+
+        // sort in reverse order by key
+
+        krsort($toReplace);
+
+        foreach ($toReplace as $part) {
+            list($type, $object) = $part;
+            switch($type) {
+            case self::URL:
+                $linkText = $this->makeUrlLink($object);
+                break;
+            case self::HASHTAG:
+                $linkText = $this->makeHashtagLink($object);
+                break;
+            case self::MENTION:
+                $linkText = $this->makeMentionLink($object);
+                break;
+            default:
+                continue;
+            }
+            $text = mb_substr($text, 0, $object->indices[0]) . $linkText . mb_substr($text, $object->indices[1]);
+        }
+        return $text;
+    }
+
+    function makeUrlLink($object)
+    {
+        return "<a href='{$object->url}' class='extlink'>{$object->url}</a>";
+    }
+
+    function makeHashtagLink($object)
+    {
+        return "#" . self::tagLink($object->text);
+    }
+
+    function makeMentionLink($object)
+    {
+        return "@".self::atLink($object->screen_name, $object->name);
+    }
+
+    static function tagLink($tag)
+    {
+        return "<a href='https://twitter.com/search?q=%23{$tag}' class='hashtag'>{$tag}</a>";
+    }
+
+    static function atLink($screenName, $fullName=null)
+    {
+        if (!empty($fullName)) {
+            return "<a href='http://twitter.com/{$screenName}' title='{$fullName}'>{$screenName}</a>";
+        } else {
+            return "<a href='http://twitter.com/{$screenName}'>{$screenName}</a>";
+        }
+    }
+
+    function saveStatusMentions($notice, $status)
+    {
+        $mentions = array();
+
+        if (empty($status->entities) || empty($status->entities->user_mentions)) {
+            return;
+        }
+
+        foreach ($status->entities->user_mentions as $mention) {
+            $flink = Foreign_link::getByForeignID($mention->id, TWITTER_SERVICE);
+            if (!empty($flink)) {
+                $user = User::staticGet('id', $flink->user_id);
+                if (!empty($user)) {
+                    $reply = new Reply();
+                    $reply->notice_id  = $notice->id;
+                    $reply->profile_id = $user->id;
+                    common_log(LOG_INFO, __METHOD__ . ": saving reply: notice {$notice->id} to profile {$user->id}");
+                    $id = $reply->insert();
+                }
+            }
+        }
+    }
+
+    /**
+     * Record URL links from the notice. Needed to get thumbnail records
+     * for referenced photo and video posts, etc.
+     *
+     * @param Notice $notice
+     * @param object $status
+     */
+    function saveStatusAttachments($notice, $status)
+    {
+        if (!empty($status->entities) && !empty($status->entities->urls)) {
+            foreach ($status->entities->urls as $url) {
+                File::processNew($url->url, $notice->id);
+            }
+        }
+    }
+}
\ No newline at end of file
index 33c5eb65bb23c3c291022f2fd7f5589a6cf33511..c169172b0000f980c80137fabf130ad0975473c5 100644 (file)
@@ -285,6 +285,7 @@ class TwittersettingsAction extends ConnectSettingsAction
         }
 
         $original = clone($flink);
+        $wasReceiving = (bool)($original->noticesync & FOREIGN_NOTICE_RECV);
         $flink->set_flags($noticesend, $noticerecv, $replysync, $friendsync);
         $result = $flink->update($original);
 
@@ -294,6 +295,19 @@ class TwittersettingsAction extends ConnectSettingsAction
             return;
         }
 
+        if ($wasReceiving xor $noticerecv) {
+            $this->notifyDaemon($flink->foreign_id, $noticerecv);
+        }
+
         $this->showForm(_m('Twitter preferences saved.'), true);
     }
+
+    /**
+     * Tell the import daemon that we've updated a user's receive status.
+     */
+    function notifyDaemon($twitterUserId, $receiving)
+    {
+        // todo... should use control signals rather than queues
+    }
+
 }
diff --git a/plugins/TwitterBridge/twitterstreamreader.php b/plugins/TwitterBridge/twitterstreamreader.php
new file mode 100644 (file)
index 0000000..5b0613b
--- /dev/null
@@ -0,0 +1,285 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Plugin
+ * @package   StatusNet
+ * @author    Brion Vibber <brion@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+/**
+ * Base class for reading Twitter's User Streams and Site Streams
+ * real-time streaming APIs.
+ *
+ * Caller can hook event callbacks for various types of messages;
+ * the data from the stream and some context info will be passed
+ * on to the callbacks.
+ */
+abstract class TwitterStreamReader extends JsonStreamReader
+{
+    protected $callbacks = array();
+
+    function __construct(TwitterOAuthClient $auth, $baseUrl)
+    {
+        $this->baseUrl = $baseUrl;
+        $this->oauth = $auth;
+    }
+
+    public function connect($method, $params=array())
+    {
+        $url = $this->oAuthUrl($this->baseUrl . '/' . $method, $params);
+        return parent::connect($url);
+    }
+
+    /**
+     * Sign our target URL with OAuth auth stuff.
+     *
+     * @param string $url
+     * @param array $params
+     * @return string 
+     */
+    protected function oAuthUrl($url, $params=array())
+    {
+        // In an ideal world this would be better encapsulated. :)
+        $request = OAuthRequest::from_consumer_and_token($this->oauth->consumer,
+            $this->oauth->token, 'GET', $url, $params);
+        $request->sign_request($this->oauth->sha1_method,
+            $this->oauth->consumer, $this->oauth->token);
+
+        return $request->to_url();
+    }
+
+    /**
+     * Add an event callback to receive notifications when things come in
+     * over the wire.
+     *
+     * Callbacks should be in the form: function(object $data, array $context)
+     * where $context may list additional data on some streams, such as the
+     * user to whom the message should be routed.
+     *
+     * Available events:
+     *
+     * Messaging:
+     *
+     * 'status': $data contains a status update in standard Twitter JSON format.
+     *      $data->user: sending user in standard Twitter JSON format.
+     *      $data->text... etc
+     *
+     * 'direct_message': $data contains a direct message in standard Twitter JSON format.
+     *      $data->sender: sending user in standard Twitter JSON format.
+     *      $data->recipient: receiving user in standard Twitter JSON format.
+     *      $data->text... etc
+     *
+     *
+     * Out of band events:
+     *
+     * 'follow': User has either started following someone, or is being followed.
+     *      $data->source: following user in standard Twitter JSON format.
+     *      $data->target: followed user in standard Twitter JSON format.
+     *
+     * 'favorite': Someone has favorited a status update.
+     *      $data->source: user doing the favoriting, in standard Twitter JSON format.
+     *      $data->target: user whose status was favorited, in standard Twitter JSON format.
+     *      $data->target_object: the favorited status update in standard Twitter JSON format.
+     *
+     * 'unfavorite': Someone has unfavorited a status update.
+     *      $data->source: user doing the unfavoriting, in standard Twitter JSON format.
+     *      $data->target: user whose status was unfavorited, in standard Twitter JSON format.
+     *      $data->target_object: the unfavorited status update in standard Twitter JSON format.
+     *
+     *
+     * Meta information:
+     *
+     * 'friends':
+     *      $data->friends: array of user IDs of the current user's friends.
+     *
+     * 'delete': Advisory that a Twitter status has been deleted; nice clients
+     *           should follow suit.
+     *      $data->id: ID of status being deleted
+     *      $data->user_id: ID of its owning user
+     *
+     * 'scrub_geo': Advisory that a user is clearing geo data from their status
+     *              stream; nice clients should follow suit.
+     *      $data->user_id: ID of user
+     *      $data->up_to_status_id: any notice older than this should be scrubbed.
+     *
+     * 'limit': Advisory that tracking has hit a resource limit.
+     *      $data->track
+     *
+     * 'raw': receives the full JSON data for all message types.
+     *
+     * @param string $event
+     * @param callable $callback
+     */
+    public function hookEvent($event, $callback)
+    {
+        $this->callbacks[$event][] = $callback;
+    }
+
+    /**
+     * Call event handler callbacks for the given event.
+     * 
+     * @param string $event
+     * @param mixed $arg1 ... one or more params to pass on
+     */
+    protected function fireEvent($event, $arg1)
+    {
+        if (array_key_exists($event, $this->callbacks)) {
+            $args = array_slice(func_get_args(), 1);
+            foreach ($this->callbacks[$event] as $callback) {
+                call_user_func_array($callback, $args);
+            }
+        }
+    }
+
+    protected function handleJson(stdClass $data)
+    {
+        $this->routeMessage($data);
+    }
+
+    abstract protected function routeMessage(stdClass $data);
+
+    /**
+     * Send the decoded JSON object out to any event listeners.
+     *
+     * @param array $data
+     * @param array $context optional additional context data to pass on
+     */
+    protected function handleMessage(stdClass $data, array $context=array())
+    {
+        $this->fireEvent('raw', $data, $context);
+
+        if (isset($data->text)) {
+            $this->fireEvent('status', $data, $context);
+            return;
+        }
+        if (isset($data->event)) {
+            $this->fireEvent($data->event, $data, $context);
+            return;
+        }
+        if (isset($data->friends)) {
+            $this->fireEvent('friends', $data, $context);
+        }
+
+        $knownMeta = array('delete', 'scrub_geo', 'limit', 'direct_message');
+        foreach ($knownMeta as $key) {
+            if (isset($data->$key)) {
+                $this->fireEvent($key, $data->$key, $context);
+                return;
+            }
+        }
+    }
+}
+
+/**
+ * Multiuser stream listener for Twitter Site Streams API
+ * http://dev.twitter.com/pages/site_streams
+ *
+ * The site streams API allows listening to updates for multiple users.
+ * Pass in the user IDs to listen to in via followUser() -- note they
+ * must each have a valid OAuth token for the application ID we're
+ * connecting as.
+ *
+ * You'll need to be connecting with the auth keys for the user who
+ * owns the application registration.
+ *
+ * The user each message is destined for will be passed to event handlers
+ * in $context['for_user_id'].
+ */
+class TwitterSiteStream extends TwitterStreamReader
+{
+    protected $userIds;
+
+    public function __construct(TwitterOAuthClient $auth, $baseUrl='http://betastream.twitter.com')
+    {
+        parent::__construct($auth, $baseUrl);
+    }
+
+    public function connect($method='2b/site.json')
+    {
+        $params = array();
+        if ($this->userIds) {
+            $params['follow'] = implode(',', $this->userIds);
+        }
+        return parent::connect($method, $params);
+    }
+
+    /**
+     * Set the users whose home streams should be pulled.
+     * They all must have valid oauth tokens for this application.
+     *
+     * Must be called before connect().
+     *
+     * @param array $userIds
+     */
+    function followUsers($userIds)
+    {
+        $this->userIds = $userIds;
+    }
+
+    /**
+     * Each message in the site stream tells us which user ID it should be
+     * routed to; we'll need that to let the caller know what to do.
+     *
+     * @param array $data
+     */
+    function routeMessage(stdClass $data)
+    {
+        $context = array(
+            'source' => 'sitestream',
+            'for_user' => $data->for_user
+        );
+        parent::handleMessage($data->message, $context);
+    }
+}
+
+/**
+ * Stream listener for Twitter User Streams API
+ * http://dev.twitter.com/pages/user_streams
+ *
+ * This will pull the home stream and additional events just for the user
+ * we've authenticated as.
+ */
+class TwitterUserStream extends TwitterStreamReader
+{
+    public function __construct(TwitterOAuthClient $auth, $baseUrl='https://userstream.twitter.com')
+    {
+        parent::__construct($auth, $baseUrl);
+    }
+
+    public function connect($method='2/user.json')
+    {
+        return parent::connect($method);
+    }
+
+    /**
+     * Each message in the user stream is just ready to go.
+     *
+     * @param array $data
+     */
+    function routeMessage(stdClass $data)
+    {
+        $context = array(
+            'source' => 'userstream'
+        );
+        parent::handleMessage($data, $context);
+    }
+}
index e6ad3e37d31f5b289b8125e1ca46f7b4866babfa..fc7698841ecf70e35568bbb4774ba615dfb7baa4 100644 (file)
@@ -128,25 +128,9 @@ class UserFlagPlugin extends Plugin
      */
     function onEndProfilePageActionsElements(&$action, $profile)
     {
-        $user = common_current_user();
-
-        if (!empty($user) && ($user->id != $profile->id)) {
-
-            $action->elementStart('li', 'entity_flag');
-
-            if (User_flag_profile::exists($profile->id, $user->id)) {
-                // @todo FIXME: Add a title explaining what 'flagged' means?
-                // TRANS: Message added to a profile if it has been flagged for review.
-                $action->element('p', 'flagged', _('Flagged'));
-            } else {
-                $form = new FlagProfileForm($action, $profile,
-                                            array('action' => 'showstream',
-                                                  'nickname' => $profile->nickname));
-                $form->show();
-            }
-
-            $action->elementEnd('li');
-        }
+        $this->showFlagButton($action, $profile,
+                              array('action' => 'showstream',
+                                    'nickname' => $profile->nickname));
 
         return true;
     }
@@ -160,22 +144,40 @@ class UserFlagPlugin extends Plugin
      */
     function onEndProfileListItemActionElements($item)
     {
-        $user = common_current_user();
+        list($action, $args) = $item->action->returnToArgs();
+        $args['action'] = $action;
+        $this->showFlagButton($item->action, $item->profile, $args);
+
+        return true;
+    }
 
-        if (!empty($user)) {
+    /**
+     * Actually output a flag button. If the target profile has already been
+     * flagged by the current user, a null-action faux button is shown.
+     *
+     * @param Action $action
+     * @param Profile $profile
+     * @param array $returnToArgs
+     */
+    protected function showFlagButton($action, $profile, $returnToArgs)
+    {
+        $user = common_current_user();
 
-            list($action, $args) = $item->action->returnToArgs();
+        if (!empty($user) && ($user->id != $profile->id)) {
 
-            $args['action'] = $action;
+            $action->elementStart('li', 'entity_flag');
 
-            $form = new FlagProfileForm($item->action, $item->profile, $args);
+            if (User_flag_profile::exists($profile->id, $user->id)) {
+                // @todo FIXME: Add a title explaining what 'flagged' means?
+                // TRANS: Message added to a profile if it has been flagged for review.
+                $action->element('p', 'flagged', _m('Flagged'));
+            } else {
+                $form = new FlagProfileForm($action, $profile, $returnToArgs);
+                $form->show();
+            }
 
-            $item->action->elementStart('li', 'entity_flag');
-            $form->show();
-            $item->action->elementEnd('li');
+            $action->elementEnd('li');
         }
-
-        return true;
     }
 
     /**
index 69fe0f356b79b5d36fdf6f850fa0509546d48145..f4e9844dfc9ddf67ba89c3e43e188c629aabe1b3 100644 (file)
@@ -79,21 +79,36 @@ class User_flag_profile extends Memcached_DataObject
     /**
      * return key definitions for DB_DataObject
      *
-     * @return array key definitions
+     * @return array of key names
      */
     function keys()
     {
-        return array('profile_id' => 'K', 'user_id' => 'K');
+        return array_keys($this->keyTypes());
     }
 
     /**
      * return key definitions for DB_DataObject
      *
-     * @return array key definitions
+     * @return array map of key definitions
      */
     function keyTypes()
     {
-        return $this->keys();
+        return array('profile_id' => 'K', 'user_id' => 'K');
+    }
+
+    /**
+     * Magic formula for non-autoincrementing integer primary keys
+     *
+     * If a table has a single integer column as its primary key, DB_DataObject
+     * assumes that the column is auto-incrementing and makes a sequence table
+     * to do this incrementation. Since we don't need this for our class, we
+     * overload this method and return the magic formula that DB_DataObject needs.
+     *
+     * @return array magic three-false array that stops auto-incrementing.
+     */
+    function sequenceKey()
+    {
+        return array(false, false, false);
     }
 
     /**
index 283eea40ce157289d811ebc55f5c5071ff0631c7..7096d3748e4cb9fd3cfe2edab43264799d71e6a2 100644 (file)
@@ -60,13 +60,6 @@ class FlagprofileAction extends ProfileFormAction
         assert(!empty($user)); // checked above
         assert(!empty($this->profile)); // checked above
 
-        if (User_flag_profile::exists($this->profile->id,
-                                      $user->id)) {
-            // TRANS: Client error when setting flag that has already been set for a profile.
-            $this->clientError(_m('Flag already exists.'));
-            return false;
-        }
-
         return true;
     }
 
@@ -104,7 +97,13 @@ class FlagprofileAction extends ProfileFormAction
 
         // throws an exception on error
 
-        User_flag_profile::create($user->id, $this->profile->id);
+        if (User_flag_profile::exists($this->profile->id,
+                                      $user->id)) {
+            // We'll return to the profile page (or return the updated AJAX form)
+            // showing the current state, so no harm done.
+        } else {
+            User_flag_profile::create($user->id, $this->profile->id);
+        }
 
         if ($this->boolean('ajax')) {
             $this->ajaxResults();
index decb06d0472389e31e620ae6b2fb43203fb117e3..c70c7988eecd72fc4184ee81b00f47b6b1355188 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
+"POT-Creation-Date: 2010-11-04 18:25+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"
@@ -44,23 +44,19 @@ msgstr[1] ""
 msgid "Flagged by %s"
 msgstr ""
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr ""
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr ""
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr ""
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -93,7 +89,7 @@ msgid "Flag profile for review."
 msgstr ""
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr ""
index 277ce5650e68d9bca779aecdd2e3eff2ad454613..f2c84969af2f01c66bd057a2e27416ac535869c8 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - UserFlag\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:20+0000\n"
 "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: fr\n"
 "X-Message-Group: #out-statusnet-plugin-userflag\n"
@@ -48,23 +48,19 @@ msgstr[1] "Marqué par %1$s et %2$d autres"
 msgid "Flagged by %s"
 msgstr "Marqué par %s"
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr "Déjà marqué."
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr "Marqué pour vérification"
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr "Marqué"
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -99,7 +95,7 @@ msgid "Flag profile for review."
 msgstr "Marquer le profil pour vérification."
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr "Impossible de marquer le profil « %d » pour vérification."
index d58458b052ff423cf3241a445a4ca988f72d2b91..2917da732021dd7712718df3bfcb372c98088444 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - UserFlag\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:20+0000\n"
 "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: ia\n"
 "X-Message-Group: #out-statusnet-plugin-userflag\n"
@@ -48,23 +48,19 @@ msgstr[1] "Marcate per %1$s e %2$d alteres"
 msgid "Flagged by %s"
 msgstr "Marcate per %s"
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr "Le marca ja existe."
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr "Marcate pro revision"
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr "Marcate"
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -98,7 +94,7 @@ msgid "Flag profile for review."
 msgstr "Marcar profilo pro revision."
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr "Non poteva marcar profilo \"%d\" pro revision."
index ab9c1b2e4f8a7ce72f1922e70ff8daa71e3c7176..8d934141e9a1f26b1e1379ff752b354b50194f5b 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - UserFlag\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:20+0000\n"
 "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: mk\n"
 "X-Message-Group: #out-statusnet-plugin-userflag\n"
@@ -48,23 +48,19 @@ msgstr[1] "Означено од %1$s и уште %2$d други"
 msgid "Flagged by %s"
 msgstr "Означено од %s"
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr "Ознаката веќе постои."
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr "Означено за преглед"
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr "Означено"
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -99,7 +95,7 @@ msgid "Flag profile for review."
 msgstr "Означи профил за преглед."
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr "Не можев да го означам профилот „%d“ за преглед."
index 115b63433ae1b3503f21dc57df93efa0aa1acc30..766776a9e16d4d1fcf90c03e3e1681b185017e1a 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - UserFlag\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:20+0000\n"
 "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: nl\n"
 "X-Message-Group: #out-statusnet-plugin-userflag\n"
@@ -48,23 +48,19 @@ msgstr[1] "Gemarkeerd door %1$s en %2$d anderen"
 msgid "Flagged by %s"
 msgstr "Gemarkeerd door %s"
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr "De markering bestaat al."
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr "Gemarkeerd voor controle"
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr "Gemarkeerd"
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -100,7 +96,7 @@ msgid "Flag profile for review."
 msgstr "Profiel voor controle markeren"
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr "Het was niet mogelijk het profiel \"%d\" voor controle te markeren."
index c476cf2f7cc02f7a3fab31fbdd137e0f67d076c9..ea71be24e2a414b7eb7db3ce28947f0d6f98e606 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - UserFlag\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:20+0000\n"
 "Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: pt\n"
 "X-Message-Group: #out-statusnet-plugin-userflag\n"
@@ -48,23 +48,19 @@ msgstr[1] "Sinalizado por %1$s e mais %2$d pessoas"
 msgid "Flagged by %s"
 msgstr "Sinalizado por %s"
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr "Já existe uma sinalização."
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr "Sinalizado para análise"
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr "Sinalizado"
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -99,7 +95,7 @@ msgid "Flag profile for review."
 msgstr "Sinalizar perfil para análise."
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr "Não foi possível sinalizar o perfil \"%d\" para análise."
index c6dd6e40d766412b0cea721ab194f2c267fa9bc6..ae0e9b03fe56705f10333b3727b6d475dc0f7788 100644 (file)
@@ -9,13 +9,13 @@ msgid ""
 msgstr ""
 "Project-Id-Version: StatusNet - UserFlag\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-27 23:43+0000\n"
-"PO-Revision-Date: 2010-10-27 23:47:54+0000\n"
+"POT-Creation-Date: 2010-11-07 20:25+0000\n"
+"PO-Revision-Date: 2010-11-07 20:29:20+0000\n"
 "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n"
-"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n"
+"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n"
 "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
 "X-Language-Code: uk\n"
 "X-Message-Group: #out-statusnet-plugin-userflag\n"
@@ -50,23 +50,19 @@ msgstr[2] "Відмічено %1$s та ще %2$d користувачами"
 msgid "Flagged by %s"
 msgstr "Відмічено %s"
 
-#. TRANS: Client error when setting flag that has already been set for a profile.
-#: flagprofile.php:66
-msgid "Flag already exists."
-msgstr "Відмітка вже стоїть."
-
 #. TRANS: AJAX form title for a flagged profile.
-#: flagprofile.php:126
+#: flagprofile.php:125
 msgid "Flagged for review"
 msgstr "Відмічені для розгляду"
 
 #. TRANS: Body text for AJAX form when a profile has been flagged for review.
-#: flagprofile.php:130
+#. TRANS: Message added to a profile if it has been flagged for review.
+#: flagprofile.php:129 UserFlagPlugin.php:173
 msgid "Flagged"
 msgstr "Відмічені"
 
 #. TRANS: Plugin description.
-#: UserFlagPlugin.php:292
+#: UserFlagPlugin.php:294
 msgid ""
 "This plugin allows flagging of profiles for review and reviewing flagged "
 "profiles."
@@ -101,7 +97,7 @@ msgid "Flag profile for review."
 msgstr "Відмітити профіль для розгляду."
 
 #. TRANS: Server exception.
-#: User_flag_profile.php:145
+#: User_flag_profile.php:160
 #, php-format
 msgid "Couldn't flag profile \"%d\" for review."
 msgstr "Не вдалося відмітити профіль «%d» для розгляду."
diff --git a/plugins/UserLimit/locale/fi/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/fi/LC_MESSAGES/UserLimit.po
new file mode 100644 (file)
index 0000000..5c76854
--- /dev/null
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Finnish (Suomi)
+# Expored from translatewiki.net
+#
+# Author: Centerlink
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-02 22:51+0000\n"
+"PO-Revision-Date: 2010-11-02 22:55:20+0000\n"
+"Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:14:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fi\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Rajoita niiden käyttäjien lukumäärää, jotka voivat rekisteröityä."
diff --git a/plugins/XCache/locale/fi/LC_MESSAGES/XCache.po b/plugins/XCache/locale/fi/LC_MESSAGES/XCache.po
new file mode 100644 (file)
index 0000000..c0ce345
--- /dev/null
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Finnish (Suomi)
+# Expored from translatewiki.net
+#
+# Author: Centerlink
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-30 23:18+0000\n"
+"PO-Revision-Date: 2010-10-30 23:23:06+0000\n"
+"Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-29 16:14:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r75708); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fi\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Käytä <a href=\"http://xcache.lighttpd.net/\">XCache</a>-muuttujavälimuistia "
+"kyselyn tulosten tallentamiseksi välimuistiin."
diff --git a/scripts/make-release.php b/scripts/make-release.php
new file mode 100644 (file)
index 0000000..a62d2f4
--- /dev/null
@@ -0,0 +1,57 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero 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 Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+# Abort if called from a web server
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+$base = INSTALLDIR;
+$encBase = escapeshellarg($base);
+
+$ver = STATUSNET_VERSION;
+
+// @fixme hack
+if (preg_match('/^(\d+)\.(\d+)\.(\d+)/', $ver, $matches)) {
+    list(, $a, $b, $c) = $matches;
+    if ($c > '0') {
+        $cprime = $c - 1;
+        $prev = "$a.$b.$cprime";
+    } else {
+        die("This is a .0 release; you need to provide a thingy.\n");
+    }
+}
+
+$tag = $ver;
+$prefix = "statusnet-$tag";
+$target = "$prefix.tar.gz";
+
+$cmd = <<<END
+(cd $encBase && git archive --prefix=$prefix/ $tag | gzip > /tmp/$target) && \
+(cd /tmp && tar zxf $target && cd $prefix && make) && \
+(cd $encBase && git log --oneline {$prev}..{$tag} > /tmp/$prefix/Changelog) && \
+(cd /tmp && tar zcf $target $prefix) && \
+(cd /tmp && rm -rf $prefix) && \
+(mv /tmp/$target .)
+END;
+
+echo $cmd;
+echo "\n";
index 82eb9bbaa17ad01aae418458bbf66c23e6e278c8..8327c796c2cf0cb3e987cb8ad76fe877059ed429 100644 (file)
@@ -57,7 +57,8 @@ function getActivityStreamDocument()
         throw new Exception("File '$filename' not readable.");
     }
 
-    printfv(_("Getting backup from file '$filename'.")."\n");
+    // TRANS: Commandline script output. %s is the filename that contains a backup for a user.
+    printfv(_("Getting backup from file '%s'.")."\n",$filename);
 
     $xml = file_get_contents($filename);
 
@@ -79,19 +80,22 @@ function importActivityStream($user, $doc)
 
     if (!empty($subjectEl)) {
         $subject = new ActivityObject($subjectEl);
-        printfv(_("Backup file for user %s (%s)")."\n", $subject->id, Ostatus_profile::getActivityObjectNickname($subject));
+        // TRANS: Commandline script output. %1$s is the subject ID, %2$s is the subject nickname.
+        printfv(_("Backup file for user %1$s (%2$s)")."\n", $subject->id, Ostatus_profile::getActivityObjectNickname($subject));
     } else {
         throw new Exception("Feed doesn't have an <activity:subject> element.");
     }
 
     if (is_null($user)) {
+        // TRANS: Commandline script output.
         printfv(_("No user specified; using backup user.")."\n");
         $user = userFromSubject($subject);
     }
 
     $entries = $feed->getElementsByTagNameNS(Activity::ATOM, 'entry');
 
-    printfv(_("%d entries in backup.")."\n", $entries->length);
+    // TRANS: Commandline script output. %d is the number of entries in the activity stream in backup; used for plural.
+    printfv(_m("%d entry in backup.","%d entries in backup.",$entries->length)."\n", $entries->length);
 
     for ($i = $entries->length - 1; $i >= 0; $i--) {
         try {
diff --git a/tests/oEmbedTest.php b/tests/oEmbedTest.php
new file mode 100644 (file)
index 0000000..b5e441c
--- /dev/null
@@ -0,0 +1,140 @@
+<?php
+
+if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
+    print "This script must be run from the command line\n";
+    exit();
+}
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+define('STATUSNET', true);
+
+require_once INSTALLDIR . '/lib/common.php';
+
+class oEmbedTest extends PHPUnit_Framework_TestCase
+{
+
+    public function setup()
+    {
+        $this->old_oohembed = common_config('oohembed', 'endpoint');
+    }
+
+    public function tearDown()
+    {
+        $GLOBALS['config']['oohembed']['endpoint'] = $this->old_oohembed;
+    }
+
+    /**
+     * Test with oohembed DISABLED.
+     *
+     * @dataProvider discoverableSources
+     */
+    public function testoEmbed($url, $expectedType)
+    {
+        $GLOBALS['config']['oohembed']['endpoint'] = false;
+        $this->_doTest($url, $expectedType);
+    }
+
+    /**
+     * Test with oohembed ENABLED.
+     *
+     * @dataProvider fallbackSources
+     */
+    public function testoohEmbed($url, $expectedType)
+    {
+        $GLOBALS['config']['oohembed']['endpoint'] = $this->_endpoint();
+        $this->_doTest($url, $expectedType);
+    }
+
+    /**
+     * Get default oohembed endpoint.
+     *
+     * @return string
+     */
+    function _endpoint()
+    {
+        $default = array();
+        $_server = 'localhost'; $_path = '';
+        require INSTALLDIR . '/lib/default.php';
+        return $default['oohembed']['endpoint'];
+    }
+
+    /**
+     * Actually run an individual test.
+     *
+     * @param string $url
+     * @param string $expectedType
+     */
+    function _doTest($url, $expectedType)
+    {
+        try {
+            $data = oEmbedHelper::getObject($url);
+            $this->assertEquals($expectedType, $data->type);
+            if ($data->type == 'photo') {
+                $this->assertTrue(!empty($data->url), 'Photo must have a URL.');
+                $this->assertTrue(!empty($data->width), 'Photo must have a width.');
+                $this->assertTrue(!empty($data->height), 'Photo must have a height.');
+            } else if ($data->type == 'video') {
+                $this->assertTrue(!empty($data->html), 'Video must have embedding HTML.');
+                $this->assertTrue(!empty($data->thumbnail_url), 'Video should have a thumbnail.');
+            }
+            if (!empty($data->thumbnail_url)) {
+                $this->assertTrue(!empty($data->thumbnail_width), 'Thumbnail must list a width.');
+                $this->assertTrue(!empty($data->thumbnail_height), 'Thumbnail must list a height.');
+            }
+        } catch (Exception $e) {
+            if ($expectedType == 'none') {
+                $this->assertEquals($expectedType, 'none', 'Should not have data for this URL.');
+            } else {
+                throw $e;
+            }
+        }
+    }
+
+    /**
+     * Sample oEmbed targets for sites we know ourselves...
+     * @return array
+     */
+    static public function knownSources()
+    {
+        $sources = array(
+            array('http://www.flickr.com/photos/brionv/5172500179/', 'photo'),
+            array('http://yfrog.com/fy42747177j', 'photo'),
+            array('http://twitpic.com/36adw6', 'photo'),
+        );
+        return $sources;
+    }
+
+    /**
+     * Sample oEmbed targets that can be found via discovery.
+     * Includes also knownSources() output.
+     *
+     * @return array
+     */
+    static public function discoverableSources()
+    {
+        $sources = array(
+            array('http://identi.ca/attachment/34437400', 'photo'),
+
+            array('http://www.youtube.com/watch?v=eUgLR232Cnw', 'video'),
+            array('http://vimeo.com/9283184', 'video'),
+
+            // Will fail discovery:
+            array('http://leuksman.com/log/2010/10/29/statusnet-0-9-6-release/', 'none'),
+        );
+        return array_merge(self::knownSources(), $sources);
+    }
+
+    /**
+     * Sample oEmbed targets that can be found via oohembed.com.
+     * Includes also discoverableSources() output.
+     *
+     * @return array
+     */
+    static public function fallbackSources()
+    {
+        $sources = array(
+            array('http://en.wikipedia.org/wiki/File:Wiki.png', 'link'), // @fixme in future there may be a native provider -- will change to 'photo'
+        );
+        return array_merge(self::discoverableSources(), $sources);
+    }
+}
index 7ac66095a83510cff63c1800da9b70a7d06af9e4..8c364febce5c15d8be944e788b8ff58e81fd89c1 100644 (file)
@@ -1325,15 +1325,6 @@ margin-left:4px;
 .notice .attachment.more {
 padding-left:0;
 }
-.notice .attachment img {
-position:absolute;
-top:18px;
-left:0;
-z-index:99;
-}
-#shownotice .notice .attachment img {
-position:static;
-}
 
 #attachments {
 clear:both;
@@ -1716,6 +1707,12 @@ width:auto;
 min-width:0;
 }
 
+.inline-attachment img {
+    /* Why on earth is this changed to block at the top? */
+    display: inline;
+    border: solid 1px #aaa;
+    padding: 1px;
+}
 }/*end of @media screen, projection, tv*/